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