Skip to content

โš ๏ธ Limitations & Best Practices

While SaveKit Lite is powerful and easy to use, it's important to understand its design boundaries.


โŒ What is NOT supported

Unsupported Feature Why?
Saving UObject references Can't be serialized as text safely
Arrays of components No automatic serialization available
Blueprint-only dynamic spawning Relies on actor names only โ€” dynamically spawned actors are not recreated
Level streaming SaveKit Lite is level-instance-based only

๐Ÿง  Best Practices

  • โœ… Ensure each actor has a unique name in the level
  • โœ… Use VariablesToSave for any dynamic state that isn't stored in properties
  • โœ… If you need to save complex data โ€” break it into string tokens
  • โœ… For objects spawned at runtime โ€” consider recreating them manually on Load
  • โœ… Use consistent slot naming (e.g., AutoSave, Quick1, Checkpoint)
  • โœ… Don't rely on object references โ€” instead store IDs or lookup keys
  • โœ… When using SaveGame variables, prefer basic types (strings, numbers, bools)

๐Ÿ”ง Suggestions

๐Ÿงญ These advanced needs are outside the scope of SaveKit Lite:

  • World-level saving across maps โ†’ use GameInstance or a wrapper
  • Custom object handling โ†’ extend Saveable with your logic
  • Large game state persistence โ†’ look into full save systems or Pro-tier solutions

๐Ÿ’ก Need advanced serialization? Use custom C++ logic or integrate formats like JSON for full control.