
Runtime save & rewind system for Unity. Capture, restore, and branch game state with prefab support, encryption, and custom adapters. Great for undo/redo, testing, simulations, and time controlDual-Mode API - SnapshotService - classic slot-based save / load with async calls - VersionedSnapshotService - full timeline control using keyframes and delta snapshots Rewind & Replay- Run scene-wide or per-object rewind and generate frame-perfect replays from per-frame deltas Branching Timelines- Fork separate “what-if” branches at runtime and jump between them instantly Adapter System- 30+ built-in adapters like Transform, Rigidbody, Animator, Colliders etc- Add any custom component in ~20 lines via clean "IChronoAdapter" interfaceGC-Efficient Performance - Object and list pools for snapshots and entries keep allocations low - Typical snapshot and restore operations run in single-digit milliseconds on mid-range hardware - Coroutine-driven pipeline prevents frame-time spikes during long captures Dependency-Aware Restoration- Automatic topological ordering (Transform → Rigidbody → custom) removes load-order bugsStable GUID Tracking- ChronoTarget IDs persist through instantiation, destruction and scene loads; no broken referencesModular Storage- in-memory `MemoryStore` and encrypted `FileStore` included; extendable via `ISnapshotStore` for cloud, database or PlayerPrefs back-ends Editor Tooling - dedicated inspectors for Auto-Detection objects;Snapshot editor window;Diagnostic WindowFull C# code - clean, well documented with interface separation and unit-test-friendly designUnity versions:- 2020.3 LTS and newer- Properly tested on 2023.2.20f1;2022.3.62f1;2021.3.45f1;2020.3.48f1- Requires C# 8.0+- Made with 6.0.45f1Rendering pipelines: Built-in, URP, HDRPDependencies: NoneRuntime allocations:- Minimal GC allocations during capture and restore- Core snapshot operations use object and memory pools to avoid spikesThreading:- Main-thread safe; heavy I/O handled via async Tasks and coroutinesSupport- Email and Discord (details in the README file inside the package)