State machine runtime (IState, transitions), no-code ScriptableObject config, and visual editor. Scripts in Scripts/StateMachine/. Use this page as the English module entry.
StateMachine<TState>is the C# runtime core. Use it directly when you do not need a scene component.StateMachineBehaviour<TState>andStateMachineBehaviourBaseare scene wrappers: ticking, context slots, UnityEvents, reload, and enable/disable lifecycle.StateMachineData/StateDataassets must not store scene object references. Put scene objects on the component context overrides and reference them from SO data by slot.- Use
SetContextGameObjectActiveActionfor scene-object actions.SetGameObjectActiveActionis legacy compatibility for old assets with direct scene references. - Runtime logs are gated by
Enable Debug Logon the component. - On disable, the component exits the current state; on re-enable it can reload
StateMachineData.
| Page | Description |
|---|---|
| StateMachine README | Module overview and when to use code-first vs no-code |
| StateMachine | Core runtime API |
| StateMachineBehaviour, StateMachineBehaviourBase | MonoBehaviour integration |
| NoCode_StateMachine_Usage | No-code workflow |