What problem does it solve?
Provides a consistent set of architecture conventions to avoid ad-hoc service, config, installer, and event implementations across Unity projects, reducing bugs and integration friction.
Core Features & Use Cases
- Config + Data: Enforces data-oriented ScriptableObject configs with plain data structs and extension-method logic for predictable runtime behavior and easy testing.
- Service Pattern: Standardizes constructor-injected services with IAsyncStartable, ITickable, and IDisposable patterns, including null-guarding and lifecycle cleanup.
- Installer & Events: Prescribes static installer registration with VContainer and MessagePipe broker setup, plus readonly MessagePipe event structs and reactive disposal strategies for robust event flows.
- Use Case: Ideal when adding a new domain service, creating configuration assets, wiring MessagePipe events, or implementing reactive cleanup across a modular Unity codebase.
Quick Start
Create a new ScriptableObject config with a plain data struct, implement a constructor-injected service that uses IAsyncStartable and CompositeDisposable, and register both in a static Install method on your project's installer.