๐พ Save System Tool kit for Unity
June 25, 2025 ยท View on GitHub
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.
โจ Features
- ๐ 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
๐ง PlayerPrefs
- Stored in system registry (Windows) or plist (macOS)
- Serialized via Odin using Base64 + JSON
๐ JSON
- Located at:
Application.persistentDataPath/player_data.json - Fully human-readable
๐ XML
- Located at:
Application.persistentDataPath/player_data.xml - Readable and compatible with standard tools
๐ท Screenshots
| 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 |
|---|---|
![]() | ![]() |
๐ Tech Stack
- Unity 2022+
- Odin Inspector
- Sirenix Serialization
๐งฉ Usage
Save:
saveLoadFacade.Save(SaveMethod.Json, playerData);
Load:
PlayerData loaded = saveLoadFacade.Load(SaveMethod.PlayerPrefs);





