The gvas crate is a Rust library that allows parsing of gvas save files.
Crate documentation is published to docs.rs/gvas.
A gvas save file is a binary file format used by the Unreal Engine 4/5 (UE4/UE5) game engine to store persistent data such as player progress, game settings, and other game-related information.
The crate can be added to a Rust project as a dependency by running the command
cargo add gvas
.
This crate supports serde deserialization and serialization. To use serde with
gvas, the serde feature must be enabled by running
cargo add gvas --features serde
.
The example code below demonstrates how to use the gvas crate to read a gvas save file. The GvasFile struct's read() method is used to parse the data from the file and produce a GvasFile struct.
use gvas::GvasFile;
use std::fs::File;
let mut file = File::open("save.sav")?;
let gvas_file = GvasFile::read(&mut file, GameVersion::Default);
println!("{:#?}", gvas_file);
The tests directory contains several tests that demonstrate how to use the crate to read and write gvas files.
Please see the CONTRIBUTING document for guidelines on how to contribute to this project.
This library is distributed under the terms of the MIT license. See the LICENSE file for details.