Slot-based save system for Unity with built-in JSON serialization and encryption.
This system allows you to easily save, load, copy, delete, and manage save slots using strongly typed data classes.
using System;
[Serializable]
public class PlayerData
{
public int coins;
public int level;
public float health;
}PlayerData data = new()
{
coins = 150,
level = 5,
health = 72.5f
};
SaveSystem.SaveDataInSlot(data, 0);PlayerData data = SaveSystem.LoadDataFromSlot<PlayerData>(0);
if (data != null)
Debug.Log($"Coins: {data.coins}");bool doesExists = SaveSystem.DoesSlotExist(0);SaveSystem.DeleteSlot(0);or
SaveSystem.DeleteAllSlots();SaveSystem.CopySlot(0, 1);List<int> slots = SaveSystem.FindAllSavedSlots();Save files are stored inside Application.persistentDataPath.
Each file follows this format:
save0.save
save1.save
save2.save