What problem does it solve? Implementing save/load in Unreal Engine C++ involves many moving parts — USaveGame subclasses, slot APIs, async operations, actor state serialization, and version migration — and mistakes like storing live pointers or skipping version fields cause corrupt saves and crashes. ## Core Features & Use Cases - Slot-Based Save/Load: Create, save, load, and delete named save slots via UGameplayStatics, with both synchronous and async variants for gameplay-safe saving. - Actor State Serialization: Capture dynamic actor state into byte arrays using UPROPERTY(SaveGame), FMemoryWriter/FMemoryReader, and FObjectAndNameAsStringProxyArchive for multi-actor world persistence. - Versioning & Migration: Add SaveVersion fields, migrate old saves in PostLoad, and use ULocalPlayerSaveGame hooks for structured per-user versioning. - Use Case: You need to persist player progress, inventory, and opened chests across sessions in a UE5 game — define a USaveGame subclass, snapshot saveable actors into records, and restore them on load with version-safe migration. ## Quick Start Ask the AI to implement a save/load system in Unreal C++ that persists player progress and dynamic actor state to a named slot with async saving and version migration.