
Save Design is a type-safe save system for Unity. Just add attributes to your data classes—no key management or boilerplate needed. It’s quick to set up and ideal for fast, reliable saving.🔗 Publisher WebsiteFor product updates, documentation, and other tools, please visit the following links:🏠 Home📘 Getting Started Guide🧩 Script Reference🔑✖️ Save Design — the key-free save revolutionSave Design is an attribute-driven, code-generated save framework that wipes out the hassle of remembering or managing key strings so common in traditional save/load systems.Simply decorate your classes with [SharedData] or [SlotData], and you can access your save data with no key strings at all.Say goodbye to manual file I/O and error-prone, hand-written save logic.🎮 What types of games is it ideal for?Cleanly separate character-specific progress from shared player data for safe, organized saves.RPGs and adventure games with multiple save slotsIdentifier-driven autosaves let players resume exactly where they left off.Checkpoint-based action titles and roguelikesHandle large, complex state via hierarchical paths, enabling fast loads and straightforward debugging.Simulation and management gamesRecord player choices and flags per slot, instantly recreating branching scenes.Visual novels and dialogue-heavy storiesFrequent design changes are painless—just add or tweak attributes and the save structure updates safely.Small- to mid-scale projects of any genre🧩 Why it makes development easyOnce your save data is loaded, every property and method appears in your IntelliSense list, so you can reference values without memorizing field names or risking typos—logic flows faster and safer.Instant data consumption with IDE auto-completionBuilt-in support for async/await (or UniTask) keeps save and load operations smooth even on mobile devices.One-click asynchronous workflowEnable AES + HMAC from an editor window—just enter your keys and click a button to protect against tampering.Integrated encryption toolTempData is cleared at game start or when switching slots, eliminating bugs caused by forgotten initialisation or stale values.Automatic lifetime managementNeed version migration or custom upgrade logic later? Hook in your own callbacks or partial classes whenever you like—the framework stays out of your way.Highly extensible design💰 Why is it so affordable?Save Design keeps the price low by focusing on only the essentials and trimming the heavy “all-in-one” extras.Attribute-only setup lets you save plain C# data classes exactly as you design them, complete with IDE auto-completion—so the learning curve stays shallow.Direct serialization of MonoBehaviour and ScriptableObject is not supported, but simple work-arounds (ID mapping or plain-data mirroring) cover virtually every game scenario.Costly extras such as built-in cloud storage or Visual Scripting integration are deliberately left out; by concentrating on fast, reliable local saves, Save Design delivers professional functionality at a fraction of the price.🔗 Publisher WebsiteFor product updates, documentation, and other tools, please visit the following links:🏠 Home📘 Getting Started Guide🧩 Script Reference✅ Compatible WithPlatforms: Windows, macOS, Linux, Android, iOS, Steam, OculusLanguages: C#Runtime: Unity 2022.3 or newer (LTS recommended)(manual installation required)Optional Integration: UniTask, MessagePack for C#📦 DocumentsIn-editor auto-complete support (via source generators)XML commentsGuide, tutorial scenes, and integration samples🔐 Secure and EfficientEasily enabled from the Unity Editor via a built-in toolOptional AES + HMAC encryptionAutomatic encryption on save, and verification on loadAuto-generated code ensures consistent behavior💾 Save SmarterAttribute-driven architecture: zero boilerplate save logicShared, Slot, Meta, and Temp data types with clear boundariesSave manually or use identifier-based autosave slotsAsync save/load with Unity Awaitable or UniTaskTempData auto-clears based on lifecycle (game start, slot switch, etc.)Customizable callbacks: OnAfterLoad, OnBeforeSave, OnAfterInitialize