โ ๏ธ 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.