Expand description
A library for reading and writing Unreal Engine save files (commonly referred to as GVAS).
It has been tested on an extensive set of object structures and can fully read and write Deep Rock Galactic save files (and likely a lot more).
There is a small binary utility to quickly convert saves to and from a plain text JSON format which can be used for manual save editing.
§Example
use std::fs::File;
use uesave::{Property, PropertyInner, Save};
let save = Save::read(&mut File::open("drg-save-test.sav")?)?;
match save.root.properties["NumberOfGamesPlayed"] {
Property { inner: PropertyInner::Int(value), .. } => {
assert_eq!(2173, value);
}
_ => {}
}
Structs§
- Box
- Color
- Custom
Format Data - Delegate
- FFormat
Argument Data - FNumber
Formatting Options - Field
Path - Gameplay
Tag - Gameplay
TagContainer - Header
- IntPoint
- IntVector
- Linear
Color - MapEntry
- Multicast
Delegate - Multicast
Inline Delegate - Multicast
Sparse Delegate - Package
Version - Parse
Error - Properties
- Property
- Properties consist of an ID and a value and are present in
Root
andStructValue::Struct
- Property
Key - Property
TagPartial - Quat
- Root
- Root struct inside a save file which holds both the Unreal Engine class name and list of properties
- Rotator
- Save
- Text
- Types
- Used to disambiguate types within a [
Property::Set
] or [Property::Map
] during parsing. - Unique
NetId Repl - Unique
NetId Repl Inner - Vector
- Vector2D
Enums§
- Byte
- Just a plain byte, or an enum in which case the variant will be a String
- Byte
Array - Vectorized
Byte
- Error
- FFormat
Argument Data Value - FFormat
Argument Value - Property
Inner - Properties consist of an ID and a value and are present in
Root
andStructValue::Struct
- Property
TagData Partial - Property
Type - Property
Value - Soft
Object Path - Struct
Type - Struct
Value - Text
Variant - Value
Array - Encapsulates
ValueVec
with a special handling of structs. See also:ValueSet
- Value
Set - Encapsulates
ValueVec
with a special handling of structs. See also:ValueArray
- Value
Vec - Vectorized properties to avoid storing the variant with each value