Unity architecture

Azkar EDA

Azkar EDA is a Unity event, state, priority dispatch, lifecycle token, and editor tracking toolkit for event-driven architecture workflows.

Coming soon on Unity Asset Store
Open docsStart guide
Azkar EDA interface diagram
Events
State
Tracking

Purpose

Small primitives for decoupled Unity systems.

Azkar EDA gives gameplay, UI, tools, and service code explicit event objects, reactive state, ordered dispatch phases, and lifecycle-owned subscriptions. The core rule is simple: subscribe, keep the token, and dispose it from the Unity lifecycle that owns the listener.

Operational map

Trace the system without flattening it.

The EDA manual covers setup, primitive selection, API references, editor tracking, performance guidance, samples, migration recipes, and FAQ diagnostics for teams that need visible event flow.

What it covers

Events, state, priority, cleanup, and visibility.

Events and payloads

Use AzEvent for discrete happenings, payload events for values, and ref payload events when large structs should avoid copies.

Reactive state

Use AzState<T> for values with current meaning, distinct-until-changed writes, validation, scheduling, and UI binding.

Priority dispatch

Use nine ordered priority slots when input, simulation, presentation, analytics, or validation phases must run predictably.

Lifecycle tokens

Every subscription returns an AzEventToken, and token bags let Unity objects dispose, pause, or resume owned subscriptions together.

Editor tracking

Annotate buses, handlers, publishers, states, and struct payloads so the tracking window can show live relationships and values.

Migration path

Move existing C# events, property-change pairs, manual phase lists, and cleanup patterns into EDA incrementally.

Learning path

Start with a working lifecycle, then deepen the API.