file-arrow-downAuto Save System

Configuration (SaveSettings)

  • SaveOnSceneChange: Auto-save when changing scenes

  • SaveOnQuit: Auto-save when closing game

  • LoadOnStart: Auto-load last save on game start

  • AutoRestoreSceneData: Restore scene state when revisiting

Manual Auto-Save Trigger

Add AutoSaveController (already present by default):

// Already auto-initialized, but you can add manually:
gameObject.AddComponent<AutoSaveController>();

Custom Auto-Save Logic

using UnityEngine.SceneManagement;

public class CustomAutoSave : MonoBehaviour
{
    private void OnEnable()
    {
        SceneManager.sceneLoaded += OnSceneLoaded;
    }
    
    private void OnDisable()
    {
        SceneManager.sceneLoaded -= OnSceneLoaded;
    }
    
    private void OnSceneLoaded(Scene scene, LoadSceneMode mode)
    {
        if (SaveSettings.Instance.SaveOnSceneChange)
        {
            SaveManager.SaveAll();
        }
    }
    
    private void OnApplicationQuit()
    {
        if (SaveSettings.Instance.SaveOnQuit)
        {
            SaveManager.SaveAll();
        }
    }
}

Last updated