What problem does it solve? Game state logic scattered across MonoBehaviours and hardcoded checks like GameManager.Instance.IsPlaying make Unity projects fragile and hard to extend. This Skill provides a clean architecture for managing the full game loop — boot, menu, gameplay, pause, victory, and game over — as a testable finite state machine. ## Core Features & Use Cases - FSM-Based Game Loop: Implements IGameState and IGameStateMachine contracts with self-contained state classes handling their own entry, exit, and update logic. - Decoupled Win/Lose Conditions: Encapsulates victory and defeat checks in a dedicated IWinConditionChecker service instead of hardcoding them into gameplay systems. - Manual DI Bootstrapping: Wires up all states and services in a GameBootstrapper without any framework, with a documented migration path to VContainer. - Use Case: When building a Unity game where pause menus, scene loading, and session data must react to state changes, use this Skill to architect the GameStateMachine, subscribe UI views to OnStateChanged, and reset SessionData on each new session. ## Quick Start Ask the AI to design the core game loop state machine for your Unity project with states for boot, main menu, gameplay, pause, victory, and game over.