Skip to content

Repository files navigation

Flow

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.

About

A Unity lifecycle and loading orchestration framework for structured initialization, scene transitions, progress, cancellation, and failure handling.

Resources

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages