Configuration & CVars
This document details all Project Settings, configuration parameters, and console commands available in Aegis Save.
1. Project Settings (UAegisSettings)
Access configuration in Unreal Editor under Edit → Project Settings → Plugins → Aegis Save:
ini
; Config/DefaultEngine.ini
[/Script/AegisSave.AegisSettings]
FrameBudgetMilliseconds=1.000000
DefaultSnapshotMode=Atomic
DefaultSaveDirectory=
BundleTargetSizeBytes=262144
CompressionCodec=OodleParameter Details
| Setting | Type | Default | Description |
|---|---|---|---|
FrameBudgetMilliseconds | float | 1.0 | Maximum Game Thread execution time allowed per frame during an Incremental autosave pass. |
DefaultSnapshotMode | EAegisSnapshotMode | Atomic | Default mode when SaveGame is called without explicit option overrides (Atomic or Incremental). |
DefaultSaveDirectory | FDirectoryPath | "" (Empty) | Custom save directory path. If left empty, defaults to the project's standard Saved/SaveGames/ directory. |
BundleTargetSizeBytes | int32 | 262144 (256 KB) | Target uncompressed size of grouped data bundles before flushing to Oodle compression. Balances verbatim reuse granularity with compression ratio. |
CompressionCodec | FName | Oodle | Active compression algorithm used for payload bundles. Uses Epic's built-in Oodle Kraken compressor. |
2. Console Commands & CVars
Aegis Save provides built-in console commands for debugging, benchmarking, and diagnostics:
1. Benchmark Execution
text
Aegis.Benchmark.Run <Count> <DirtyFraction> <ChurnRate> [Trials] [SweepHalfExtent] [SourceRadius]- Executes an automated performance benchmark against the current map.
- Slices capture passes, measures baseline controls vs active saving, and outputs structured p99 and tail delta metrics (
AEGIS_BENCHMARK_RESULT). - Example:
Aegis.Benchmark.Run 1000 0.02 1.0 2
2. Hand-Placed Identity Probe
text
Aegis.HandPlaced.Probe <ExpectedCount>- Validates that hand-placed actors in the current level successfully recover their adopted
PersistentIdwith bit-exact matching. - Essential for testing cooked standalone game builds where
actorGuid=N/A.
3. Level Instance Identity Probes
text
Aegis.LevelInstance.Probe <ExpectedCount>
Aegis.LevelInstance.StreamCycle <Cycles> <ExpectedCount>- Validates that Level Instance actors compose unique identities across placement seeds and survive streaming cycles without identity drift.
4. World Partition Re-Partitioning Probes
text
Aegis.Repartition.SaveRecords <Count> <SaveName>
Aegis.Repartition.VerifyRecords <Count> <SaveName>- Validates that save records can be resolved after spatial grid cell sizes have been modified.
3. Configuring Logging Categories
Aegis uses dedicated logging categories rather than generic output:
LogAegis: Subsystem operations, save/load lifecycle, scheduler warnings, and error contexts.LogAegisSerialization: Low-level archive property serialization, bundle packing, and codec metrics.
Enabling Verbose Diagnostics via Command Line
Add the -LogCmds parameter to your editor or game launch arguments:
powershell
UnrealEditor.exe YourProject.uproject -LogCmds="LogAegis Verbose, LogAegisSerialization VeryVerbose"Every warning and error strictly names: Object, Property, and Reason (A-7).