Add local save slots to your Unity game with async APIs, optional encryption, screenshot thumbnails, rotating backups, schema migrations, and a key/value store.Save player progress, organize save slots, and manage changing game data.MOFU SaveAndLoad is a local save system for Unity. Use structured save slots for player progress, a key/value store for smaller settings, and Editor tools to inspect saved data during development.FeaturesMultiple save slots — Organize saves with custom labels, timestamps, schema versions, and optional screenshot thumbnails.Synchronous and asynchronous APIs — Save and load through a central manager, with awaitable operations for workflows that depend on completion.Optional encryption and compression — Protect save payloads with authenticated encryption and reduce file size with GZip compression.Rotating backups — Keep previous slot generations and explicitly restore a selected backup, including its metadata and thumbnail.Schema migrations — Define versioned JSON transformations to upgrade older save structures as your game evolves.QuickSave key/value storage — Store settings and small values through a straightforward API.CSV utilities — Import and export tabular data using typed rows or string dictionaries.Serializable data wrappers — Included dictionary, decimal, and BigInteger wrappers extend common JsonUtility workflows.IncludedC# source code, a demo scene, Project Settings integration, a Save Data Inspector, an offline Japanese/English manual, and Editor regression tests.The core requires no external service, account, or paid SDK. You control when saves occur and how your game handles errors and recovery.ScopeThis package provides local persistence. Cloud synchronization, secure key storage, automatic device/account recovery, and server-side anti-cheat are not included. See Technical details for dependencies and the validated platform scope.Validated configurationUnity 6000.3.10f1Windows Editor and Windows x64 Player using MonoDemo/player validation with the Built-in Render Pipeline69 EditMode regression tests passed in both the development project and an isolated importOther Unity versions, IL2CPP/AOT, macOS, Linux, Android, and iOS have not been validated. WebGL, consoles, tvOS, and visionOS are not supported in this release.DependenciesCore: Unity and .NET APIs; no bundled third-party DLLsDemo: Unity UI 2.0.0 and Input System 1.18.0 testedDemo input: Active Input Handling set to Input System Package (New) or BothTests: Unity Test Framework 1.6.0 tested; Editor-onlyThe demo has no URP dependency. Samples can be omitted for core-only integration.Storage and serializationJsonUtility-based serialization using serializable DTO fieldsOptional GZip compressionOptional AES-256-CBC encryption with random IVs and HMAC-SHA-256 authenticationEncryption requires a runtime provider supplying persistent 64-byte key materialOptional identifier binding additionally requires an identifier providerMetadata, thumbnails, and CSV exports are not encryptedEncryption and identifier binding are disabled by defaultRuntime behavior and limitationsCall save-system APIs on Unity’s main thread. Async APIs perform file I/O asynchronously; serialization, compression, encryption, and backup preparation remain on the calling thread.Async operations on the same slot queue. Synchronous operations reject a busy slot.Screenshot capture requires Play mode and a rendered Game view.Slot backups cover data, metadata, and thumbnails. QuickSave and CSV are excluded.Multi-file slot saves are not an atomic transaction under power loss or forced termination.Multiple processes and network/cloud-synchronized writers are not coordinated.JsonUtility limitations apply. Properties, standard Dictionary fields, and arbitrary object graphs require an appropriate data model.Schema migrations transform JSON structures; they do not automatically convert encryption keys or storage settings.OpenAI Codex was used to assist with C# code changes, bug fixes, regression test creation, and Japanese/English documentation. AI-assisted work included asynchronous save and screenshot handling, save-data validation, backup restoration, and error handling. The resulting implementation was validated in Unity 6000.3.10f1 through 69 EditMode regression tests and Windows x64 Mono player checks. Documentation examples were also checked for compilation.AI was not used to create or edit the sample images. The package does not include runtime AI/ML functionality or require an AI service.


