
Save System 2.0.1
A downloadable asset
💾 Lix Save System v2.0.1 (Unity)
Link to Full Documentation: https://www.sillylix.com/Docs/SaveSystem/SaveSystem.html
Lix Save System v2.0.1 is a robust, modular, and easy-to-use save system for Unity, designed for both beginners and advanced developers. It provides a clean API for saving and loading game data while remaining highly customizable through dependency injection, encryption, and serialization interfaces.
Whether you just want to save a few values or build a fully custom persistence pipeline, this system scales with your project.
Features
- Save & Load Supported Types:
- All primitive types (
int,float,bool,string, etc.) Vector2,Vector3,Vector4QuaterniondecimalList<T>(whereTis a supported type)Dictionary<TKey, TValue>(where bothTKeyandTValueare supported types)
- All primitive types (
- Strong Type Safety: Prevents loading data as the wrong type.
- JSON-Based Serialization: Human-readable, optional pretty print.
- Optional AES Encryption for secure data storage.
- Fully Customizable: File name, save path, file extension.
- Modular Architecture: Custom encryption, serialization, file storage (cloud, database, etc.).
- Safe handling of unsupported or null values.
- Compatible with Unity 6 (6000+).
🔧 Customization & Extensibility
Lix Save System is built with interfaces, allowing you to replace core functionality:
ISaveSystemEncryption– custom encryption logicIGameSerializer– custom serialization (JSON, XML, Binary, etc.)IFileIO– custom storage (cloud, PlayerPrefs, database, etc.)
Suitable for:
- Small indie games
- Large projects
- Prototypes
- Production releases
Requirements
- Unity Engine 6 or newer (Tested on 6000.0.61f1+)
- Basic understanding of C# and Unity scripting
Example Usage
using UnityEngine;
using SillyLixStudio.SaveSystem;
public class SaveSystemExample : MonoBehaviour
{
private GameData mySaveData;
private void Start()
{
mySaveData = new GameData();
mySaveData.gameDataConf.SetFileName("PlayerSave1");
mySaveData.gameDataConf.SetIsEncrypted(true);
mySaveData.gameDataConf.SetEncryptionKey("unique-key-12345");
mySaveData.gameDataConf.SetEncryptionIV("unique-iv-67890");
}
void SaveData()
{
SaveSystem.Set(mySaveData, "PlayerName", "Hero");
SaveSystem.Set(mySaveData, "HighScore", 1500);
SaveSystem.Set(mySaveData, "PlayerPosition", new Vector3(10f, 0f, 5f));
SaveSystem.SaveToDisk(mySaveData);
}
void Load()
{
if (SaveSystem.SaveFileExists(mySaveData))
{
SaveSystem.LoadFromDisk(mySaveData);
string playerName = SaveSystem.Get<string>(mySaveData, "PlayerName");
int highScore = SaveSystem.Get<int>(mySaveData, "HighScore");
Vector3 playerPosition = SaveSystem.Get<Vector3>(mySaveData, "PlayerPosition");
Debug.Log($"Player Name: {playerName}, High Score: {highScore}, Position: {playerPosition}");
}
else
{
Debug.Log("No save file found.");
}
}
}
Example Scene
Includes a demo script and scene to test the system in-editor.
📚 Documentation
- Tutorial (Recommended first): https://www.sillylix.com/Docs/SaveSystem/SaveSystem-Tutorial.html
- Full Documentation: https://www.sillylix.com/Docs/SaveSystem/SaveSystem.html
- Change Log: https://www.sillylix.com/Docs/SaveSystem/ChangeLog.html
Contributor
Visual Designer: Zahra
📜 License
License details: https://www.sillylix.com/assetsInfo/SaveSystem.html#license
Attribution is not required, but greatly appreciated ❤️
| Updated | 9 days ago |
| Status | Released |
| Category | Assets |
| Author | SillyLix |
| Tags | Asset Pack, encryption, free, json, save-data, save-system, Unity, unity-asset, unity-save-system, unity-tool |
| Average session | A few seconds |
| Languages | English |
| Links | Homepage |
Download
Click download now to get access to the following files:
Development log
- Lix Save System 2.0.1 change log9 days ago
- Lix Save System 2.0.0 change log16 days ago
- Save System - devlog46 days ago

Comments
Log in with itch.io to leave a comment.
If you want new type's added or some other features comment it here!
If you find bugs or you know a better way to do somethings please tell me about it!