What problem does it solve? Persisting game state in Unreal Engine requires knowing the correct SaveGame APIs, serialization flags, and versioning patterns; mistakes cause lost progress, corrupt saves, or hitches during gameplay. This Skill provides the exact UE 5.8 classes, function signatures, and patterns for reliable save/load implementation. ## Core Features & Use Cases - Slot-based save/load: Create, save, load, and delete named save slots via UGameplayStatics, with synchronous and async variants (AsyncSaveGameToSlot, AsyncLoadGameFromSlot) to avoid blocking the game thread. - Actor state serialization: Capture dynamic actor state into byte arrays using UPROPERTY(SaveGame), FMemoryWriter/FMemoryReader, and FObjectAndNameAsStringProxyArchive with the ArIsSaveGame flag. - Versioning and migration: Add SaveVersion fields, migrate old saves in PostLoad, and use ULocalPlayerSaveGame hooks (HandlePostLoad, GetLatestDataVersion) for per-user saves. - Use Case: A player opens chests and defeats enemies in a level; at a checkpoint, the game captures each saveable actor's state into a USaveGame object and writes it asynchronously to a slot, then restores everything on the next session. ## Quick Start Ask the agent to implement a save system that persists player progress and opened chests to a named slot using USaveGame and async save in Unreal Engine 5.8.