bootstrapping

Orchestrate ordered asynchronous Unity bootstrap phases with dependency injection.

Updated Aug 23, 2026
One-click install
npx skills add https://github.com/punkfuncgames/tetris-clone --skill bootstrapping
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: bootstrapping
Source: https://github.com/punkfuncgames/tetris-clone/tree/main/.claude/skills/bootstrapping
Command: npx skills add https://github.com/punkfuncgames/tetris-clone --skill bootstrapping

SYSTEM DOCUMENTATION & REQUIREMENTS

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.

Frequently Asked Questions about bootstrapping

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I sequence ordered asynchronous startup phases in Unity?

To sequence ordered asynchronous startup phases in Unity, implement IBootstrapPhase with Order, Name, IsEnabled, and ExecuteAsync properties. The BootstrapOrchestrator sorts these phases and runs them sequentially for deterministic initialization.

What is the best way to manage Unity application initialization order for services like Steam?

Managing Unity application initialization order is best handled by phase-based bootstrapping, which applies an ordered, cancellable pipeline to tasks like Steam platform services, localization, and save data loading, removing ad-hoc sequencing issues.

Can I disable or reorder specific initialization tasks during Unity startup?

Yes, you can disable or reorder initialization tasks during Unity startup by adjusting the IsEnabled and Order properties on individual bootstrap phases. This makes adding, disabling, or reordering startup work straightforward and observable.

How do I register custom bootstrap phases using dependency injection in Unity?

To register custom bootstrap phases using dependency injection in Unity, derive a new class from the provided base phase, assign its Order, and register it in ProjectLifetimeScope so the BootstrapOrchestrator runs it during startup.

Does phase-based Unity startup orchestration support cleanup and disposal of initialization tasks?

Yes, phase-based Unity startup orchestration supports cleanup by disposing of disposable phases on shutdown. The orchestrator executes phases sequentially during initialization and safely handles disposable phase cleanup when the application terminates.