What problem does it solve?
Establishes a clear, ordered, and cancellable startup pipeline for Unity applications so initialization tasks run deterministically and safely. It removes ad-hoc initialization order issues and makes adding, disabling, or reordering startup work straightforward and observable.
Core Features & Use Cases
- Ordered asynchronous phases with properties for Order, Name, IsEnabled and an ExecuteAsync method for deterministic sequencing.
- BootstrapOrchestrator that sorts phases, sets application state to Initializing, executes phases sequentially, and disposes disposable phases on shutdown.
- Common use cases include initializing platform services (Steam), asset and audio services, localization, loading save data, preloading addressables, and loading the initial scene; also supports custom phases registered via dependency injection.
Quick Start
Register a new bootstrap phase class that derives from the provided base, assign its Order relative to existing phases, and register it in ProjectLifetimeScope so the orchestrator runs it during startup.