⚙️🧩 Crystal Save | Game Creator 2 State Machine Save Module 🧩⚙️
Freeze-frame every branch, boolean and Vector3 in your GC2 graphs—then thaw them out exactly where you left off.
📖 Overview
Just two drop-in components let Crystal Save persist all variables inside any Game Creator 2 – State Machine: runner-local or asset-based.
🎮 Hit Save → Load and the machine restarts in the same state, same values—no coding, no inspector tweaks.
✅ Requirements
• Unity 6 LTS+
• Game Creator 2 Core + State Machine by NinjutsuGames
• Crystal Save (base) v 1.5+
🚀 Installation & Quick Start
Attach & forget—zero inspector sliders, no symbols.
🛠️ Components
• Remember GC2 State Machine Runner Variables
Serialises the live Variables dictionary on a runner and restores it before the first Update tick.
• Remember GC2 State Machine Variables
Targets standalone StateMachineAsset files; reflects into GC2’s runtime map to save & load every key/value—even custom types.
Both inherit SaveableComponent, auto-register with Crystal Save, and obey pooling / keep-across-scenes rules.
🎬 Demo Scene
Game Creator → Install → Crystal Save | State Machine
• Buttons change runner-level vars → reload shows them restored.
• Prefab instances share an asset; their variables save & reload independently.
🔄 How Saving & Loading Works
• Save – SerializeComponentData() → MemoryPack binary blob.
• Load – Blob fed back into runner or asset before gameplay resumes.
• Version-safe – Variables stored by name; new or reordered vars don’t break old saves.
💡 Tips & Best Practices
• One Remember component per context: Runner Variables for NPC-specific brains, Asset Variables for shared graphs.
• Custom structs/classes? Register via GC2’s TypedObjectFactory so MemoryPack handles them automatically.
• Using object pools? SaveablePrefabPool resets GUIDs and re-registers components only when spawned—no ghost data.
🆘 Support
🐦 Discord: https://discord.gg/MPhMKtSMUZ
Happy state-saving—may your machines always pick up exactly where they left off!