8 releases

0.3.0 Oct 1, 2024
0.2.0 Apr 5, 2024
0.1.5 Feb 20, 2024
0.1.4 Nov 24, 2023
0.1.3 Apr 28, 2023

#1165 in Parser implementations

MIT license

2.5MB
396 lines

gvas2json

Convert between GVAS and JSON, TOML, YAML.

GVAS is the file format used by many Unreal Engine 4 and Unreal Engine 5 games.

This crate works with games supported by the gvas crate.

Install

  1. Install Rust.
  2. cargo install gvas2json.

Use

This crate includes six command-line utilities:

  • gvas2json
  • gvas2toml
  • gvas2yaml
  • json2gvas
  • toml2gvas
  • yaml2gvas

Each utility takes up to two files as arguments:

Read from an input file, write to an output file

gvas2json slot1.sav -o gvas.json
gvas2toml slot1.sav -o gvas.toml
gvas2yaml slot1.sav -o gvas.yaml
json2gvas gvas.json -o out.sav
toml2gvas gvas.toml -o out.sav
yaml2gvas gvas.yaml -o out.sav

Read from an input file, write to stdout

gvas2json slot1.sav > gvas.json
gvas2toml slot1.sav > gvas.toml
gvas2yaml slot1.sav > gvas.yaml

Read from stdin, write to an output file

json2gvas -o out.sav < gvas.json
toml2gvas -o out.sav < gvas.toml
yaml2gvas -o out.sav < gvas.yaml

Read from stdin, write to stdout

gvas2json < slot1.sav > gvas.json
gvas2toml < slot1.sav > gvas.toml
gvas2yaml < slot1.sav > gvas.yaml
json2gvas < gvas.json > out.sav
toml2gvas < gvas.toml > out.sav
yaml2gvas < gvas.yaml > out.sav

Get help

gvas2json --help
gvas2toml --help
gvas2yaml --help
json2gvas --help
toml2gvas --help
yaml2gvas --help

Development

Build with locally-modified gvas library

cargo add --path ../gvas

Dependencies

~14–21MB
~226K SLoC