Flow is a reusable Unity 6 package for application boot, initialization, scene or content loading, and transition orchestration.
The package lives in Packages/com.kostasban.flow. It is an early development release: the first vertical slice focuses on deterministic initialization plans, progress aggregation, cancellation, timeout handling, transition hooks, and provider-based destination loading.
var plan = FlowExecutionPlan.Create(new IFlowStep[]
{
new DelegateFlowStep("config", async (context, progress, token) => { /* load config */ }),
new DelegateFlowStep("services", async (context, progress, token) => { /* init services */ }, dependsOn: new FlowStepId[] { "config" }),
new DelayFlowStep("warmup", TimeSpan.FromMilliseconds(250), dependsOn: new FlowStepId[] { "services" })
});
var runner = new FlowRunner();
FlowRunResult result = await runner.RunAsync(plan, FlowRunnerOptions.Default, progress, cancellationToken);See the package README for installation, architecture, samples, limitations, and roadmap.