Skip to content
← All plugins
Free & open-sourceToolSave SystemFree

Component Save System

A free, plug-and-play save system for Unity.

A component-based save system for Unity. Drop a Saveable component onto an object, implement ISaveable, and the SaveMaster handles identification, serialization and writing to disk. Free and open-source on GitHub, with an expanded paid version on the Asset Store.

Component Save System screenshot

About

Component Save System is a save system for Unity built around the engine’s own component model. It was originally made for the RPG Farming Kit and expanded to work across any project. Add a Saveable component to a GameObject, implement the ISaveable interface on your scripts, and a global SaveMaster takes care of unique identification (via GUIDs), serialization, and writing saves to disk. Plug and play out of the box.

The GitHub version is free and open-source; a paid version on the Unity Asset Store adds extra features and architectural improvements.

Add a Saveable component, implement ISaveable

using Lowscope.Saving;
using UnityEngine;

public class Enemy : MonoBehaviour, ISaveable
{
    [SerializeField] private Stats stats;

    public void OnLoad(string data) => stats = JsonUtility.FromJson<Stats>(data);
    public string OnSave() => JsonUtility.ToJson(stats);
    public bool OnSaveCondition() => true; // skip saving when nothing changed
}

Features

  • Plug-and-play: a global Save Master is created before the first scene loads
  • Save any component by implementing ISaveable, with no manual ID bookkeeping
  • Stable GUID-based identification that survives object/scene renames
  • Automatic write on scene change, app pause, or SaveMaster.WriteActiveSaveToDisk()
  • Save slots, configurable auto-load/auto-save, and spawned-prefab tracking
  • Free & open-source on GitHub; expanded paid version on the Asset Store

Save your game the easy way

Grab Component Save System free on GitHub, or get the expanded version on the Unity Asset Store.