unity-game-architecture
Installation
SKILL.md
Game Systems Architecture -- Decision Patterns
Prerequisite skills:
unity-scripting(MonoBehaviour, ScriptableObjects, events),unity-lifecycle(RuntimeInitializeOnLoadMethod, DontDestroyOnLoad, SubsystemRegistration),unity-foundations(components, GameObjects)
These patterns address the most common architectural failure: Claude defaults to fat MonoBehaviours with direct references and singletons everywhere. This works for prototypes but collapses at system scale.
PATTERN: Global Service Access
WHEN: Systems need to find other systems at runtime (AudioManager, InputManager, SaveManager, etc.)
DECISION:
- Lazy Singleton -- Tiny project, 1-3 managers, no testing needed.
static Instance+DontDestroyOnLoad. Fast to write, impossible to mock. - Service Locator -- Medium project, want to swap implementations for testing (mock audio, stub save). Central registry with
Register<T>/Get<T>. Dependencies are implicit but swappable. - Constructor/Method DI -- Large project or library code, maximum testability. Pass dependencies explicitly. Use VContainer or Zenject for MonoBehaviour injection.
Related skills