Skip to Content
DocsTinysaveTinySave

TinySave

Drop-in attribute-based save/load for Unity with zero scene setup.

TinySave is a lightweight, robust save system designed for minimal friction and maximum reliability. Save your game state in under 60 seconds with just three simple steps.

Key Features

  • Attribute-based - Mark fields with [SaveField] and you’re done
  • Zero boilerplate - No manual serialization code required
  • Component-driven - Works seamlessly with Unity’s MonoBehaviour workflow
  • Async-first - Non-blocking save/load operations with proper cancellation support
  • Encryption ready - Built-in AES-256 encryption support
  • Migration system - Version your save format and migrate old data automatically
  • Performance optimized - Background threading for serialization and I/O
  • Scene references - Automatically handles GameObject and Component references
  • Editor tools - Validation window, duplicate detection, and inspector integration

60-Second Quick Start

1. Mark your fields

public class PlayerStats : MonoBehaviour { [SaveField] public int health = 100; [SaveField] public string playerName = "Hero"; [SaveField] public Vector3 position; }

2. Add SaveID component

Add a SaveID component to your GameObject in the Inspector.

3. Save and Load

using TinySave.Runtime; // Save to a slot await SaveManager.SaveAsync("slot1"); // Load from a slot bool success = await SaveManager.LoadAsync("slot1");

That’s it! Your game is now saving and loading.

What Gets Saved?

TinySave automatically saves:

  • All fields and properties marked with [SaveField]
  • Supported Unity types (Vector2/3/4, Quaternion, Color, Rect, Bounds, etc.)
  • Collections (List, Dictionary with string keys)
  • Custom serializable structs and classes
  • ScriptableObject references
  • GameObject and Component references (via SaveID or TinySaveReferenceManager)

Architecture Overview

TinySave uses a component-based architecture that integrates naturally with Unity:

  • SaveManager - Core static API for save/load operations
  • SaveID - Unique identifier component for GameObjects
  • TinySaveAutoSave - Component-level configuration for what to save
  • TinySaveManager - Scene-level manager for automatic save/load timing
  • TinySaveReferenceManager - Handles references to objects without SaveID

Common Use Cases

  • Player progress - Health, inventory, experience, unlocks
  • Game state - Quest progress, flags, timestamps
  • Settings - Audio volume, graphics quality, keybindings
  • Transform data - Position, rotation, scale
  • Dynamic content - Procedurally generated levels, user-created content

Next Steps

Last updated on