Skip to main content

Crate uesave

Crate uesave 

Source
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, Save};

let save = Save::read(&mut File::open("drg-save-test.sav")?)?;
match save.root.properties["NumberOfGamesPlayed"] {
    Property::Int(value) => {
        assert_eq!(2173, value);
    }
    _ => {}
}

Structs§

Box
Box2D
Color
CustomFormatData
Delegate
Double
FFormatArgumentData
FGuid
FKeyHandleMap
FNumberFormattingOptions
FPerPlatformFloat
FRichCurveKey
FSkeletalMeshSamplingLODBuiltData
FWeightedRandomSampler
FieldPath
Float
GameplayTag
GameplayTagContainer
Header
IntPoint
IntVector
LinearColor
MapEntry
MulticastDelegate
MulticastInlineDelegate
MulticastSparseDelegate
PackageVersion
ParseError
Properties
PropertyKey
PropertySchemas
Storage for property schemas (tags) separated from property data. Maps property paths to their type metadata.
PropertyTagPartial
Quat
Root
Root struct inside a save file which holds both the Unreal Engine class name and list of properties
Rotator
Save
SaveGameArchiveType
Archive type for save games, which use string-based object references
SaveReader
Scope
Represents the current position in the property hierarchy as a stack of names. Used for looking up type hints in the Types map.
SoftClassPath
Text
Types
Used to disambiguate types within a [Property::Set] or [Property::Map] during parsing.
UniqueNetIdRepl
UniqueNetIdReplInner
Vector
Vector4
Vector2D

Enums§

Byte
Just a plain byte, or an enum in which case the variant will be a String
ByteArray
Vectorized Byte
Error
FFormatArgumentDataValue
FFormatArgumentValue
Property
Properties consist of a value and are present in Root and StructValue::Struct Property schemas (tags) are stored separately in PropertySchemas
PropertyTagDataPartial
PropertyType
SoftObjectPath
StructType
StructValue
TextVariant
ValueVec
Vectorized properties to avoid storing the variant with each value

Traits§

ArchiveReader
ArchiveType
Defines the type system for an archive format.
ArchiveWriter
VersionInfo

Functions§

read_properties_until_none
write_properties_none_terminated