💾 Save System Tool kit for Unity
A modular, extensible and editor-friendly Save System for Unity, supporting multiple serialization formats (PlayerPrefs, JSON, XML), with visual debugging and management tools built using Odin Inspector.
- 🔁 Strategy Pattern: Plug-and-play architecture with interchangeable save methods
- 💾 Supported Formats:
- PlayerPrefs (with Odin serialization)
- JSON file
- XML file
- 🧠 Editor Tool:
- Odin Editor Window for previewing saved data
- Visual decoding for PlayerPrefs, JSON, and XML
- Deletion of individual entries
- Auto refresh on changes
- Clear indication of save locations per method
- 🧱 Extensible Architecture:
- Easy to add encryption, cloud saving, or custom file handling
- Facade over save methods to switch runtime behavior
- Stored in system registry (Windows) or plist (macOS)
- Serialized via Odin using Base64 + JSON
- Located at:
Application.persistentDataPath/player_data.json
- Fully human-readable
- Located at:
Application.persistentDataPath/player_data.xml
- Readable and compatible with standard tools
| Save Example |
Switch Method Example |
 |
 |
| PlayerPrefs |
JSON |
| ------------- |
------ |
 |
 |
🧩 Save Config Export Tool
A flexible Unity editor tool for saving and loading ScriptableObject data (e.g., level balances, configs) to and from JSON files.
- Export/import any ScriptableObject
- Auto-generated file naming with timestamp
- Load and overwrite previous saves
- Built-in file management (delete, refresh)
- Odin-based polished UI
| Save New File |
Load / Overwrite |
 |
 |
- Unity 2022+
- Odin Inspector
- Sirenix Serialization
saveLoadFacade.Save(SaveMethod.Json, playerData);
PlayerData loaded = saveLoadFacade.Load(SaveMethod.PlayerPrefs);