Behavior Trees and State Machines: Runtime
Public symbols from BitQuirky.Behavior.Runtime.
Source snapshot ad0983d00d77.
On this page
Assembly: BitQuirky.Behavior.Runtime
GameObject integration and entity integration are the main runtime entry points. The remaining categories document node contracts, binding surfaces, authoring data, and lower-level execution details for advanced integrations.
GameObject integration
Section titled “GameObject integration”- BehaviorAgent: Thin GameObject owner over the same behavior execution core used by entities. Responsibilities: - Materialize one imported artifact, own native runtime state,…
- BehaviorAgentBindingMap: Exact initialized field and service ownership for one GameObject behavior agent. Responsibilities: - Own the resolved binder and handler tables used by one…
- BehaviorAgentBlackboardFieldHandle<T>: Resolved type-safe blackboard field location for a GameObject input binder. Responsibilities: - Write one validated unmanaged value without per-step name lookup…
- BehaviorAgentBlackboardSchema: Resolves required GameObject blackboard input fields once at composition. Responsibilities: - Validate stable field name, baked type, and unmanaged storage…
- BehaviorAgentUpdateMode: Unity callback selected for one GameObject behavior agent. Responsibilities: - Select exactly one automatic Unity advancement callback. Does NOT: - Change…
- BehaviorGameObjectBlackboardFieldHandle<T>: Resolved type-safe blackboard field location for a GameObject input binder. Responsibilities: - Write one validated unmanaged value without per-step name lookup…
- BehaviorGameObjectBlackboardSchema: Resolves and records exact GameObject blackboard input ownership during composition. Responsibilities: - Validate stable field name, baked type, unmanaged…
- IBehaviorAgentInputBinder: Explicit GameObject fact binder invoked before each reactive behavior tick. Responsibilities: - Resolve required typed fields once and sample current facts…
- IBehaviorGameObjectCommandHandler: Explicit GameObject command handler invoked after each selected behavior tick. Responsibilities: - Declare every stable service token handled by one explicitly…
- IBehaviorGameObjectInputBinder: Explicit GameObject fact binder invoked before each selected behavior tick. Responsibilities: - Resolve required typed fields once and sample current facts…
Entity integration
Section titled “Entity integration”- BehaviorArtifactSurfaceException: Refusal raised when a graph is assigned to an agent surface that cannot carry one of its declared values. Responsibilities: - Carry every uncarried variable’s…
- BehaviorArtifactSurfaceValidator: The shared storage verdict both agent surfaces reach before any attachment side effect. Responsibilities: - Decide, from the baked declared-value tables alone,…
- BehaviorBlackboardFieldHandle<T>: A resolved, type-safe blackboard field location. Responsibilities: - Read and write one validated unmanaged field from an agent buffer without game-side…
- BehaviorEntityBlackboardSchema: Resolves required blackboard fields once while a graph is composed. Responsibilities: - Validate a field’s stable name, baked type, and storage size. - Return a…
- BehaviorEntityBufferAccessor: The one exact existing dynamic-buffer entry a baked entity target addresses. Responsibilities: - Turn one baked entry selector into the exact entry index the…
- BehaviorEntityEcsAccessKind: Whether one declared ECS access row reads its type or also writes it. Responsibilities: - Carry the exact strength one folded access row grants, so read-write…
- BehaviorEntityEcsAccessRow: One row of the exact ECS access table a generated binding set declares. Responsibilities: - Name one component or buffer type by its stable type hash, its…
- BehaviorEntityEcsContainerKind: Whether one declared ECS access row addresses a component or a dynamic buffer. Responsibilities: - Distinguish the two container shapes the generated carrier…
- BehaviorEntityEventObservation: What one selected graph tick actually saw when it read an entity Event Condition’s source. Responsibilities: - Distinguish a matched source, an observed…
- BehaviorEntityEventObserver: The one-shot observed-occurrence latch of the entity Event Condition, over the bake-sized per-agent occurrence state. Responsibilities: - Apply both authored…
- BehaviorEntityGraphHandle: Identifies one graph registered with a BehaviorEntityRuntime. Responsibilities: - Carry the supplied World’s sequence, runtime owner, and runtime-local graph…
- BehaviorEntityMemberAccessorIdentity: The authored diagnostic coordinates of one generated accessor. Responsibilities: - Carry the node, binding, target label, and exact authored member identity in…
- BehaviorEntityMemberBindingSet: The generated, explicitly supplied entity member binding set of one registered graph. Responsibilities: - Hold the exact declared ECS access table, accessor…
- BehaviorEntityMemberExecutionTables: The baked tables one graph’s entity member execution reads, gathered once at registration. Responsibilities: - Carry the argument, constant, comparison,…
- BehaviorEntityMemberExecutor: The one execution of a resolved entity member operation inside the batched tick. Responsibilities: - Materialize the exact unmanaged argument frame each…
- BehaviorEntityMemberFrame: The mechanical read and write surface every generated entity accessor calls. Responsibilities: - Reach one declared access row’s component, buffer entry, or…
- BehaviorEntityMemberInvocation: The unmanaged call frame passed to one generated entity member accessor. Responsibilities: - Carry the resolved invocation context, the accessor and provider…
- BehaviorEntityMemberInvocationContext: The unmanaged per-evaluation context a generated accessor reads its native views from. Responsibilities: - Present the resolved row views of the current chunk…
- BehaviorEntityMemberKernel: The single shared package kernel a generated typed carrier delegates its chunk to. Responsibilities: - Carry the batched tick payload every registered graph…
- BehaviorEntityMemberLookupSystem: World-owned typed lookup factory used only by explicitly composed member schedulers. It updates no state of its own and is never discovered through a default…
- BehaviorEntityMemberPreparedStage: One prepared carrier stage and its current row scratch.
- BehaviorEntityMemberResult: The one conversion from a baked authored outcome to the shared core’s result code. Responsibilities: - Map each of the seven authored node results onto its…
- BehaviorEntityMemberRowView: Legacy safe metadata retained for compatibility with previously generated schedulers. Responsibilities: - Carry resolved cardinality, selection, enablement, and…
- BehaviorEntityMemberScheduleContext: Everything a generated typed schedule entry point is handed for one graph update. Responsibilities: - Supply the exact entity manager, the registered graph’s…
- BehaviorEntityMemberScheduler: The shared scheduling seam a generated typed entry point runs its graph update through. Responsibilities: - Complete the incoming handle before any declared…
- BehaviorEntityMemberSingletonReading: One Singleton-mode target’s observed cardinality for the current graph update. Responsibilities: - Carry the exact entity when the world holds precisely one…
- BehaviorEntityMemberStage: The exact lifecycle stage one generated carrier pass executes.
- BehaviorEntityMemberSyncState: One agent’s preallocated member synchronization state: a header element followed by one element per baked member blackboard binding. Responsibilities: - Carry…
- BehaviorEntityMemberSynchronization: The per-agent member blackboard synchronization the batched entity tick runs around the shared evaluation: notification draining and getter polling before the…
- BehaviorEntityMemberSynchronizationReading: The last accepted synchronization change of one member blackboard binding on one agent. Responsibilities: - Report the portable last-writer sequence, the origin…
- BehaviorEntityMemberTargetResolution: What one evaluation observed when it went looking for its authored entity target. Responsibilities: - State whether the exact authored component or buffer was…
- BehaviorEntityMemberTargetResolver: Per-evaluation resolution of the four backend-local entity target modes. Responsibilities: - Read the already-resolved native views the generated carrier…
- BehaviorEntityOccurrenceSampler: The per-agent event source sampler the batched entity tick runs before the shared evaluation on every selected graph tick. Responsibilities: - Read every baked…
- BehaviorEntityOccurrenceState: One byte of an agent’s preallocated entity event occurrence state. Every Event Condition owns one bake-sized, aligned range of this buffer, reserved at…
- BehaviorEntityRandomSeed: Explicit deterministic seed supplied by an entity that runs probability nodes. Responsibilities: - Provide a non-zero per-instance seed before the package…
- BehaviorEntityRuntime: Explicitly constructed pure-entity behavior host for one supplied World. Responsibilities: - Own graph artifacts, agent attachment, blackboard initialization,…
- BehaviorRuntimeActionState: Entity buffer element retaining one direct state action’s persistent progress. Responsibilities: - Store one BehaviorActionRuntimeState per baked node. Does…
- BehaviorRuntimeNodeExecutionStatus: Entity buffer element retaining one baked node’s latest collapsed execution status. Responsibilities: - Store one BehaviorNodeExecutionStatus per baked node. -…
- BehaviorRuntimeReferenceState: One retained live-outcome row for a baked state-machine reference.
- BehaviorRuntimeRepeatState: Entity buffer element retaining one baked Repeat decorator’s independent progress. Responsibilities: - Store one BehaviorRepeatRuntimeState per baked node. -…
- BehaviorRuntimeSuspendedActionState: One action row preserved for a suspended activation.
- BehaviorRuntimeSuspensionFrame: One preallocated native Push suspension frame.
- BehaviorRuntimeTimeLimitState: Entity buffer element retaining one baked Time Limit decorator’s persistent clock. Responsibilities: - Store one BehaviorTimeLimitRuntimeState per baked node so…
- IBehaviorEntityCommandHandler: Handles commands after the package resolves their live entities. Responsibilities: - Declare every stable service token the handler implements. - Apply a…
- IBehaviorEntityInputBinder: Writes game facts after package agent initialization and before the graph tick. Responsibilities: - Resolve required fields once in Bind. - Schedule…
- IBehaviorEntityMemberAccessor: Generated unmanaged accessor dispatch implemented by each concrete typed carrier. A constrained generic kernel call lets Burst specialize the direct switch…
- IBehaviorEntityMemberScheduler: The generated typed schedule entry point of one consumer binding set. Responsibilities: - Complete the incoming handle, fence every declared ECS access row with…
- IBehaviorEntityMemberStageDriver: Runtime-owned services a generated scheduler uses to preserve the complete selected-tick order while remaining the one graph-level generated entry call.
- IBehaviorEntityMemberStagedScheduler: Marks a generated scheduler that implements the Sample, Tick, and Push protocol. Older single-pass schedulers remain source compatible but are rejected for…
- IInterruptibleBehaviorEntityCommandHandler: Additive entity-side capability for targeted synchronous service interruption. Responsibilities: - Stop the identified entity service request before new…
Node contracts
Section titled “Node contracts”- ActionBase: Abstract authoring base for behavior-tree Action leaves. Concrete Layer 3 actions (e.g. SeekHouseCombat, BuildHouse) derive from this class and decorate…
- ActionConstants: Constants for the BT Action leaf node type.
- ActionExecutionTokens: Stable source tokens for action-state list execution. Responsibilities: - Name the deterministic ordered and same-advancement execution policies. Does NOT: -…
- ActionLifetimeTokens: Stable source tokens for action-state activation lifetime. Responsibilities: - Name one-pass and repeating action-state behavior. Does NOT: - Reset runtime…
- ActionPhaseTokens: Stable source tokens for one action’s lifecycle group. Responsibilities: - Name the Entry, Active Update, and Exit placements an action may author. Does NOT: -…
- AuthorityAttribute: Declares the authority context the node ticks under.
- AuthorityHandoffResolution: Resolution strategy when host-migration interrupts an active node that has outstanding awaited externals (R-9).
- AwaitedExternalDescriptor: One (serviceId, pendingIdField) pair extracted from an AwaitsExternalAttribute.
- AwaitsExternalAttribute: Declares an external service the node may issue commands to and the blackboard field id it stores the resulting pendingRequestId in. PendingIdField may be empty…
- BehaviorBranchLabelTokens: Canonical edge-label tokens for Random Selector branches. Responsibilities: - Centralize the stable lowercase branch weight and participation keys. Does NOT: -…
- BehaviorBuiltInAuthoringRegistry: Creates operation-local registries for package-owned node schemas. Responsibilities: - Compose Repeat and Move To descriptors plus the generic condition…
- BehaviorNodeAttribute: Marks a class as a behavior node and binds it to the Mermaid :::<token> class suffix (e.g. :::action, :::condition). The token is the authoritative…
- BehaviorNodeKindTokens: Canonical node-kind tokens shared across source, editor, validation, and bake operations. Responsibilities: - Centralize the stable lowercase identifiers used…
- BehaviorNodeParameterAttribute: Declares one typed semantic parameter on a behavior node class. Responsibilities: - Provide reflection-readable authoring schema metadata. - Identify inspector…
- BehaviorNodeParameterDescriptor: Immutable schema for one typed semantic node parameter. Responsibilities: - Define the stable source key, editor label, value type, display order, requirement…
- BehaviorNodeParameterTokens: Canonical semantic parameter tokens introduced by source format 1.1. Responsibilities: - Centralize stable lowercase parameter keys used by built-in authoring…
- BehaviorNodeParameterType: Supported semantic parameter value types. Responsibilities: - Give authoring, validation, and baking one stable type vocabulary. Does NOT: - Store a parameter…
- BehaviorNodeStatus: Per-tick result code returned by every behavior node, per section Tick contract.
- ConditionBase: Abstract authoring base for behavior-tree Condition leaves. A condition is a guard predicate: it returns Success when the predicate holds and Failure / Blocked…
- ConditionConstants: Constants for the BT Condition leaf node type.
- Conditional: Decorator that admits and runs its single child only while a continuously observed fact succeeds, and cancels that child synchronously when the fact fails and…
- DeterminismClass: Determinism class declared on a node, per section Required declarations.
- DeterminismClassAttribute: Declares the node’s determinism class. Defaults to Deterministic if absent.
- Inverter: Decorator that flips its child’s Success and Failure. Other status codes pass through unchanged so authority / timeout / interrupted information reaches parents…
- MoveTo: Package-owned movement action authoring and dispatch identity. Responsibilities: - Declare the five typed payload parameters and stable movement service…
- NodeAuthoringDescriptor: Snapshot of the authoring metadata declared on a node type via attributes. The bake-time validator (BehaviorValidator) consumes this to cross-check against the…
- NodeAuthoringDescriptorReader: Reflection-driven reader. Pulls a NodeAuthoringDescriptor off any type carrying the authoring attributes. Designed to run at editor / boot time, NOT on the tick…
- NodeAuthoringRegistry: Registry of node-kind tokens to authoring descriptors. Populated at boot by scanning loaded assemblies (or constructed by hand in tests). The validator consults…
- OnAuthorityHandoffAttribute: Declares the node’s behavior on host migration.
- Parallel: Behavior-tree Parallel composite. Ticks every child once per tick (subject to the policy short-circuit). Returns Running while any child is still running;…
- ParallelPolicy: Parallel termination policies. The behavior source declares the policy as a per-node layout entry (not yet wired into the .bqbehavior metadata block; defaults…
- PayloadFieldAttribute: Declares the blackboard field copied into a service command payload slot. Slots map directly to Payload0 through Payload3.
- PayloadFieldDescriptor: One explicit service-command payload mapping extracted from a PayloadFieldAttribute.
- ReadFieldAttribute: Declares a blackboard field id the tick reads. Repeat for each id; the bake intersects these with the source-side read metadata block to reject mismatches.
- Repeat: Decorator that re-ticks its single child according to a RepeatPolicy. Responsibilities: - Encode the repeat aggregation rule for the runtime tick job. - Provide…
- RepeatPolicy: Repeat termination policy.
- Selector: Behavior-tree Selector (“priority OR”). Ticks children left-to-right; short-circuits on the first child to return Success; falls through to Failure only when…
- Sequence: Behavior-tree Sequence (“priority AND”). Ticks children left-to-right; short-circuits on the first child to return Failure; falls through to Success only when…
- StateCompletionMode: What a state does after a terminal Active Update with no selected transition.
- StateCompletionResult: The explicit machine result produced by a finishing state.
- StateCompletionTokens: Canonical source values for state completion and explicit machine results.
- StateConstants: Constants for the Statechart Root and State node types. The statechart root contains one or more states; each state contains zero or one BT subgraph plus zero…
- StateSelfReentry: How an explicitly authored self-transition re-enters its active state.
- StateTransitionEvaluation: When an outgoing state transition is eligible for evaluation.
- StateTransitionKind: How a state transition treats the source activation.
- StateTransitionKindTokens: Canonical source values for transition kind and return policy.
- StateTransitionOnReturn: How a state resumes after the pushed activation returns.
- StateTransitionResultFilter: Which terminal Active Update result permits a transition to fire.
- StateTransitionTokens: Canonical source values for transition cadence, result filtering, and re-entry.
- StatechartState: Authoritative baked lookup row for one statechart state. Responsibilities: - Carry the state’s baked node identity and optional hosted behavior-tree root. - Own…
- SubgraphReference: Pure-data view of one subgraph reference. The owning behavior source names another Mermaid behavior source by its source address (label format…
- SubgraphReferenceConstants: Constants for the SubgraphReference node type.
- TimeLimit: Decorator that imposes a selected-tick wall-clock budget on its decorated subtree. If the elapsed time since the subtree became active reaches the configured…
- Transition: Pure-data view of one statechart transition. The baked transition table (BakedTransition) is the authoritative representation; this struct is a per-evaluation…
- TransitionConstants: Constants for the statechart Transition node type.
- TransitionEvaluation: Outcome of evaluating a transition’s condition once.
- WriteFieldAttribute: Declares a blackboard field id OR an external-service queue id the tick writes. The bake disambiguates by scanning the source’s %% fields: and %% services:…
Blackboards
Section titled “Blackboards”- BehaviorBlackboardChangeWriter: Central typed writer for member-bound blackboard slots with per-slot versions, an ordered change journal, and reentrancy generations. Responsibilities: - Apply…
- BehaviorBlackboardSynchronizationArbiter: The portable last-writer arbitration every member synchronization pass applies, stated as pure decisions over exact value bits so both object models agree on…
- BehaviorBlackboardWriteOrigin: Origin of one recorded blackboard change, used to order and audit member synchronization.
- BehaviorEntityBlackboardCollectionStore: Per-instance storage for every declared list and array the entity path carries. Responsibilities: - State the byte size one instance reserves at attachment, and…
- BehaviorEntityCollectionByte: One byte of a graph instance’s own declared collection storage. Responsibilities: - Carry the elements of every declared list and array this instance owns,…
- BehaviorEntityCollectionRange: The POD range metadata of one declared collection inside a graph instance’s own storage. Responsibilities: - State where this instance’s elements live, how many…
- BehaviorManagedBlackboardTemplate: Product-owned non-generic base of every generated typed companion template. Responsibilities: - Carry the exact generated binding-set fingerprint and the dense…
- BehaviorManagedReferenceSidecar: Preallocated per-agent store for managed values of member reference slots. Responsibilities: - Hold one exact managed object per baked managed-reference sidecar…
- Blackboard: Per-follower native key-value store. Each entry corresponds to a row of BlackboardLayout: an interned field-id, a BakedFieldTypeCode, an offset into the…
- BlackboardAccessOutcome: Outcome of a blackboard read/write attempt. Returned from the Burst-callable check helpers; mapped back onto the per-follower last-result-code on the runtime…
Member binding
Section titled “Member binding”- BehaviorAgentSurface: Which agent surface a compatibility verdict was reached for. Responsibilities: - Name the exact target path a graph was assigned or baked for. Does NOT: -…
- BehaviorArtifactCompatibilityDiagnostic: One exact, source-local verdict that a graph cannot run on the target agent surface. Responsibilities: - Carry the graph identity, the declared variable, its…
- BehaviorArtifactCompatibilityReason: The stable reason one artifact is incompatible with the target surface. Responsibilities: - Name each refusal with an append-only code so presentation never…
- BehaviorArtifactCompatibilityRecovery: The recovery a designer can take in one interaction and one undo step. Responsibilities: - Name the exact recoveries a refusal offers, so the surface never…
- BehaviorEntityContainerClass: What kind of entity storage an exact authored target type is.
- BehaviorEntityMemberAvailability: The entity backend’s member-availability contract: which containers exist, which member kinds each container offers, and when a property accessor is a provable…
- BehaviorEntityMemberReading: One live reading of an entity member target, as of the last evaluation of that node. Responsibilities: - Carry the world, graph, node, authored target, exact…
- BehaviorEntityMemberReadingRecord: One entity-target evaluation transition, exactly as the batched tick observed it. Responsibilities: - Carry the agent, baked operation, exact target entity when…
- BehaviorEntityMemberReadingStore: The structured live-reading surface of one registered entity graph. Responsibilities: - Turn evaluation-transition records into occurrences: open on an…
- BehaviorEntityMemberValueContract: The entity backend’s slice of the portable member value and conversion contract. Responsibilities: - Decide which supported value kinds have a direct…
- BehaviorLiveAgentIdentity: Identifies the only runtime instance one Live document may observe or change. Responsibilities: - Carry the exact generation-aware identity of the agent’s own…
- BehaviorLiveMemberCoordinate: Addresses one exact surfaced property or field binding in one baked member runtime. Responsibilities: - Carry the dense binding index, stable binding id,…
- BehaviorLiveMemberEditDisposition: Whether one submitted Live edit changed the running member.
- BehaviorLiveMemberEditRequest: One user-committed attempt to change one exact live member value. Responsibilities: - Echo the complete instance, artifact, binding, and generation coordinates…
- BehaviorLiveMemberEditResult: The synchronous result of one runtime-owned Live member transaction. Responsibilities: - Report one disposition, the exact confirmed member value, the next…
- BehaviorLiveMemberHealth: The binding-level verdict one Live inspection reports at the point of inspection or edit.
- BehaviorLiveMemberLifecycle: Lifecycle of one Live member attachment to a running agent.
- BehaviorLiveMemberPendingFeedback: What one accepted Live edit is still waiting for before gameplay observes it.
- BehaviorLiveMemberRefusalReason: The closed reason vocabulary a Live inspection or refused edit reports.
- BehaviorLiveMemberSnapshot: One immutable editor-refresh view of one surfaced member binding. Responsibilities: - Present the complete five facts one Live inspection needs together: the…
- BehaviorLiveMemberSourceOrigin: What last moved the graph-facing value of one surfaced binding.
- BehaviorLiveMemberStorage: How one supported member value kind is carried through the Live edit contracts.
- BehaviorLiveMemberValue: One exact typed Live member value, in the binding’s own baked representation. Responsibilities: - Carry one supported value kind together with the exact bytes,…
- BehaviorManagedOperandProjector: Maintains one native match ordinal per projected GameObject-path transition operand, as part of one agent’s pre-tick member synchronization. Responsibilities: -…
- BehaviorMemberArgumentView: Non-boxing typed view over the argument values one member accessor consumes. Responsibilities: - Expose the materialized constant and blackboard argument values…
- BehaviorMemberAttribute: Explicitly exposes one non-public member to Behavior Trees and State Machines authoring. Place it on the exact method, property, field, or event a graph needs….
- BehaviorMemberBindingDiagnostic: One structured invalid-member-binding diagnostic. Responsibilities: - Carry the graph, node, and binding coordinates; the target mode, slot or path, assembly,…
- BehaviorMemberBindingDiagnosticReason: Stable reason codes for invalid member bindings. Numeric values are append-only and shared by authoring, bake, build, and runtime diagnostics.
- BehaviorMemberBindingRuntime: The per-agent member binding runtime that drives one consumer-owned member provider around the shared behavior core. Responsibilities: - Resolve every explicit…
- BehaviorMemberContractHash: Deterministic 64-bit member contract hashing with explicit collision detection. Responsibilities: - Hash a canonical exact member identity into the stable…
- BehaviorMemberConversion: Bounded conversion vocabulary applied between a member value and its bound slot. Responsibilities: - Name every allowed conversion family with a stable…
- BehaviorMemberCoroutineOutcome: Optional terminal marker yielded by a bound coroutine. Responsibilities: - Carry one exact terminal member outcome through Unity’s coroutine protocol. Does NOT:…
- BehaviorMemberDeclaredDefault: One derived description of a parameter’s current concrete compile-time default. Responsibilities: - Carry the exact parameter type, the bounded value…
- BehaviorMemberDeclaredDefaultContract: The one shared classifier of concrete compile-time parameter defaults. Responsibilities: - Decide whether one exact parameter carries a concrete declared value,…
- BehaviorMemberDeclaredDefaultKind: The bounded classification of one concrete compile-time parameter default. Append-only: existing numeric values never move.
- BehaviorMemberDeclaredDefaultOverride: The override sources a Declared default parameter can be changed to without inventing a new editor. Append-only.
- BehaviorMemberDeclaredValues: Exact typed access to one agent’s declared blackboard variables. Responsibilities: - Resolve a declared variable to its baked row once, during initialization,…
- BehaviorMemberEventConditionSink: Handle a generated event condition subscribe accessor connects one event source to. Responsibilities: - Record that the event of one active event condition…
- BehaviorMemberFault: One runtime member failure: an exception out of a bound member, a lost target, or a faulted coroutine. Recorded exactly once per occurrence so a failing binding…
- BehaviorMemberInvocationResult: The exact result of one generated member accessor invocation. Responsibilities: - Report the terminal behavior outcome (or running for a started coroutine) so…
- BehaviorMemberInvocationStatus: Outcome kind of one generated member accessor invocation. Responsibilities: - Carry the exact terminal behavior outcome, including status forms beyond success…
- BehaviorMemberNotificationSink: Handle a generated subscribe accessor connects one member notification source to. Responsibilities: - Record that one surfaced member-to-blackboard binding has…
- BehaviorMemberProviderContext: The explicit per-agent execution context a generated member provider is initialized with. Responsibilities: - Present the exact resolved targets, materialized…
- BehaviorMemberRefEvaluationReading: One transient live reading of a ref-parameter member operation’s evaluation, as of the evaluation just run. Responsibilities: - Carry the exact pre-call read,…
- BehaviorMemberReference: One serialized per-agent explicit target slot that preserves the exact assigned object. Responsibilities: - Bind one stable slot key to the exact assigned…
- BehaviorMemberResultSink: Non-boxing typed sink one member accessor uses to write its returned value. Responsibilities: - Route the exact returned value of a method result or…
- BehaviorMemberTargetReading: One transient live reading of a blackboard-variable member target, as of the evaluation just run. Responsibilities: - Carry the six facts the runtime has about…
- BehaviorMemberTargetReadingStore: Preallocated live-reading state for every blackboard-variable member target on one agent. Responsibilities: - Hold one entry per affected operation, bound once…
- BehaviorMemberValueCompatibility: The one directional exact-type compatibility service every member value role uses. Responsibilities: - Decide the direction a role’s value moves, project a…
- BehaviorMemberValueContract: The bounded member value and conversion contract for . Responsibilities: - Map exact CLR types and canonical source tokens to the supported value kinds. -…
- BehaviorMemberValueFlow: Which way a value moves between one member role and one blackboard variable. Responsibilities: - State the direction compatibility is decided in, matching the…
- BehaviorMemberValueKind: Bounded value vocabulary for member bindings. Responsibilities: - Identify every supported member value representation with a stable append-only code. Does NOT:…
- BehaviorMemberValueRequirement: What one member-role control requires of a blackboard variable. Responsibilities: - Carry the role, the direction the value moves, the exact member type…
- BehaviorMemberValueRole: The member value roles a declared blackboard variable can serve. Responsibilities: - Name each role a compatible-variable control offers, so one service answers…
- BehaviorMemberVariableCandidate: One blackboard entry offered against one member-role requirement. Responsibilities: - Carry the entry’s exact name, origin, declared shape and exact type…
- BehaviorMemberVariableOrigin: Where one blackboard entry came from. Responsibilities: - Separate a variable this graph declares from an entry a member node surfaces, so a picker lists them…
- BehaviorMemberVariableRejection: The stable reason one variable cannot serve one member role. Responsibilities: - Name every refusal the compatibility service can report, so an entry that…
- BehaviorMemberVariableSelection: Builds the ordered blackboard entries one member-role control offers. Responsibilities: - List every entry on the blackboard in panel order, variables this…
- BehaviorMemberVariableVerdict: The verdict of one variable against one member-role requirement. Responsibilities: - State whether the variable can serve the role, the exact conversion each…
- IBehaviorEntityPropertyAccessorProofProvider: Supplies build-time direct-field accessor proofs when the current runtime cannot expose managed IL, as under IL2CPP. Responsibilities: - Confirm that the exact…
- IBehaviorLiveMemberCapability: The optional Live member capability a debugger attachment may expose beside the pure observer binding. Responsibilities: - Enumerate the baked member binding…
- IBehaviorMemberCommandSink: The routing seam a GameObject agent’s binding map uses to hand deferred member service commands to the member binding runtime. Responsibilities: - Receive one…
- IBehaviorMemberProvider: The additive consumer-owned member provider contract. Responsibilities: - Resolve and validate generated accessor coverage during initialization. - Perform…
- IBehaviorMemberProviderDiagnostics: Optional diagnostic contract implemented by generated member providers so the runtime can verify a baked artifact’s output destinations against the exact…
External services
Section titled “External services”- AdapterHandoffDecision: Decision an adapter takes when a host migration is announced for a follower with at least one outstanding pending id (R-9 / FR authority handoff).
- BakedAuthorityContextCode: Mirror of BakedAuthorityContext kept POD-compatible for inclusion in ExternalServiceCommand structs that cross Burst boundaries. Numerically identical so the…
- BehaviorMemberService: Reserved internal service identity and command conventions for deferred member operations (coroutine methods and event conditions) that the member binding…
- ExternalServiceCancellationReason: Observable reason outstanding external work was cancelled.
- ExternalServiceCommand: Burst-safe POD command struct posted by a behavior node tick to its service-id slot of the External Service Command Queue. The fields are deliberately generic:…
- ExternalServiceCommandQueue: Burst-friendly producer-consumer command queue. Each producer (a behavior tick job) appends commands; each consumer (one managed adapter on the main thread)…
- ExternalServiceCompletionRecord: One row of the External Service Completion Ring. Burst-friendly POD so the tick job can scan it without managed indirection.
- ExternalServiceCompletionRing: Bounded ring buffer the managed adapter writes to (issue + outcome records) and the Burst tick job reads (resume decisions). Sized at construction; older rows…
- ExternalServiceFrameContext: Frame-scoped context supplied to an adapter’s DrainAndDispatch call. The adapter reads the queue, issues calls into the wrapped service, and writes outcome…
- ExternalServiceInterruption: Targeted interruption data presented to an interruptible GameObject service adapter. Responsibilities: - Identify the agent, request, service, owning node,…
- ExternalServiceOperation: Additive operation carried by external-service commands. Responsibilities: - Distinguish existing requests from targeted synchronous interruptions. Does NOT: -…
- ExternalServiceOutcome: Outcome of a service request after the adapter has dispatched it and (where applicable) heard back from the wrapped service.
- IBehaviorSteppedService: Explicit lifecycle for a GameObject service whose active work advances by selected steps. Responsibilities: - Advance, pause, resume, and stop frame-progressing…
- IExternalServiceAdapter: Managed-side bridge contract every External Service Adapter must satisfy. Implementations are GameLogic ScriptableObjects in Layer 3; see . Responsibilities: -…
- IInterruptibleExternalServiceAdapter: Additive targeted interruption capability for a GameObject external-service adapter. Responsibilities: - Stop the identified active request synchronously before…
- ReadView: Burst-readable snapshot of the ring’s storage. Iteration over the records and filtering on follower id / service id / frame stamp lives on the consumer (the…
Movement adapters
Section titled “Movement adapters”- BehaviorMovementRequest: Backend-neutral, allocation-free movement request. Responsibilities: - Carry exact target, speed, tolerance, command, and agent identity data. Does NOT: -…
- BehaviorMovementService: Single-request bridge between movement commands and an injected backend. Responsibilities: - Consume only movement commands, preserve request identity across…
- BehaviorMovementServiceState: Lifecycle state of one agent-owned movement service. Responsibilities: - Identify whether one request is absent, advancing, or paused. Does NOT: - Represent…
- BehaviorMovementStatus: Outcome returned by a neutral movement backend for one explicit step. Responsibilities: - Report whether one request remains active, completed, or failed. Does…
- IBehaviorMovementAdapter: Explicit backend boundary for package-owned movement actions. Responsibilities: - Begin, advance, pause, resume, and stop one request without allocation. Does…
Source authoring
Section titled “Source authoring”- ActionStateMachineValidationRule: Package-owned validation profile for immediate-action state machines. Responsibilities: - Identify the exact action-state-machine profile selected by source…
- ActionStatePhaseConversion: Deterministic first-save conversion from a legacy single-list action state into explicit source-format 1.5 phased source. Responsibilities: - Classify one…
- BehaviorAbortMode: Controls whether a condition is observed while a lower-priority selector branch runs. Responsibilities: - Provide stable additive authoring and bake values for…
- BehaviorAbortModeTokens: Canonical source tokens for BehaviorAbortMode. Responsibilities: - Centralize the stable format 1.1 values accepted by the condition schema. Does NOT: - Parse…
- BehaviorBakeOptions: Optional inputs to the bake step. All fields are optional; defaults are deterministic. Responsibilities: - Carry allocator, timestamp, determinism, field-type,…
- BehaviorBakeResult: Outcome of a bake. On success, Artifact is non-null and owns its native arrays. On failure, Artifact is null and Diagnostics contains the bake-time validation…
- BehaviorBaker: Bakes a parsed BehaviorSourceAst into a deterministic Burst-friendly BakedBehaviorArtifact. Responsibilities: - Run bake-time validation per §Bake-time…
- BehaviorCanonicalValueCodec: The one canonical reader and writer of the declared-value grammar: one record per variable, written as the ordered name, type, key, shape and value lines, with…
- BehaviorDeclaredComparisonSupport: Which comparisons one declared value supports as a transition-predicate operand. Responsibilities: - State the one comparison rule the validator, the baker, the…
- BehaviorDeclaredTypeResolution: The three, and only three, outcomes of resolving one saved type record: it resolves, it cannot be found, or it is ambiguous. None of them guesses or discards…
- BehaviorDeclaredValueDefaults: The exact default value of one declared type, written in canonical form. Responsibilities: - Write the declared type’s own default, so choosing a type, raising…
- BehaviorDeclaredValueDescriptor: The shared resolved contract authoring, validation, bake, and member compatibility read. Responsibilities: - Pair the authored declaration with its resolved…
- BehaviorDeclaredValueKind: The append-only representation vocabulary of a declared blackboard value. Responsibilities: - Identify every supported declared-value representation with a…
- BehaviorDeclaredValueRejectionReason: The stable reason one declared value cannot be used. Responsibilities: - Name every refusal the declared-value contract can report, so diagnostics stay exact…
- BehaviorDeclaredValueResolutionResult: The complete resolved declared-value contract of one graph. Responsibilities: - Carry every descriptor in author order beside the structured diagnostics…
- BehaviorDeclaredValueResolver: Resolves every saved declared value to exactly one type per half, derives its storage from the one rule, and reports every refusal with complete source-local…
- BehaviorDeclaredValueSerializationClass: How Unity retains one declared value. Responsibilities: - Select the exact serialized backing representation a generated companion field uses. Does NOT: -…
- BehaviorDeclaredValueShape: The declared shape of one blackboard variable: single, list, array or dictionary, each with the type or types that shape needs. Responsibilities: - Carry which…
- BehaviorDeclaredValueShapeChangeEffect: What one shape change did to the declaration’s value. Responsibilities: - Name the exact rebuild the shape-change rule applied, so the editor reports it in the…
- BehaviorDeclaredValueShapeChangeReport: What one shape change kept, seeded and dropped. Responsibilities: - Report the exact counts the editor shows after a retype, so nothing is dropped silently….
- BehaviorDeclaredValueShapeLevel: One collection level in a recursively declared value shape. Responsibilities: - Preserve an outermost-first list, array, or dictionary level. - Carry the exact…
- BehaviorDeclaredValueShapeModel: The shape half of a declaration: which of the four shapes it uses, the type or types that shape needs, and the rebuild every shape change applies (``)….
- BehaviorDeclaredValueStorageClass: Where the runtime keeps a declared value, derived from the one rule: unmanaged data is carried on either path, and a managed reference or lookup is…
- BehaviorDeclaredValueTypeShape: One exact recursively shaped type used by a dictionary key. Responsibilities: - Carry the innermost leaf identity and every outer collection level in reading…
- BehaviorDeclaredValueTypeShapeFactory: Converts between exact CLR collection types and the source format’s leaf-plus-level model. Responsibilities: - Decompose arrays, lists, and dictionaries at any…
- BehaviorDictionaryKeyContract: The one dictionary key contract: what makes two authored keys the same key (``). Responsibilities: - Materialize one saved key payload as its exact declared key…
- BehaviorDictionaryKeySeed: The seed one Add entry will use, stated before the action (``). Responsibilities: - Carry the exact key payload the next entry will hold, or say why no unique…
- BehaviorDictionaryKeySeeder: Computes the deterministic key one Add entry will seed (``). Responsibilities: - Walk the declared key type’s own value space in one fixed order, fill every…
- BehaviorLoadResult: Outcome of a behavior load. On success, Artifact is non-null and the caller owns its native memory. On failure, the artifact is null and Diagnostics contains…
- BehaviorMemberBlackboardNaming: Deterministic automatic blackboard naming for member bindings. Responsibilities: - Derive each projected entry’s canonical unqualified name, apply valid author…
- BehaviorRandomSelectorDirectFailureSource: The one reading of a Random Selector’s optional Direct failure weight shared by source validation, bake, editor authoring, and every editor surface….
- BehaviorSourceActiveUpdateSource: Explicit source selected for a state’s Active Update lifecycle.
- BehaviorSourceAsset: Imported representation of a canonical Bit Quirky behavior source. Responsibilities: - Carry the exact source text imported from a .bqbehavior file. - Be the…
- BehaviorSourceAst: Semantic AST extracted from the document. The bake step consumes this.
- BehaviorSourceAuthority: Authority context declared on a behavior source node. Mirrors AuthorityKind conceptually but lives at authoring layer where has not yet been defined; values are…
- BehaviorSourceBlackboardMemberBinding: The graph-level blackboard projection of one member binding. Responsibilities: - Carry the canonical projected name, value kind, direction, synchronization,…
- BehaviorSourceBlankLineBlock: One blank line in the authored document, recorded so the writer can reproduce the author’s vertical spacing. Spacing is normalized rather than copied verbatim:…
- BehaviorSourceComparisonOperator: Authored comparison operator for a typed transition predicate.
- BehaviorSourceCompositionResult: Managed source composition shared by baking and typed provider generation. Responsibilities: - Retain the resolved, mutable source AST and its composition…
- BehaviorSourceDeclaredElement: One ordered element of a declared list or array value. Responsibilities: - Carry the exact canonical payload text of one element in authored order. Does NOT: -…
- BehaviorSourceDeclaredValue: One graph-scoped authored blackboard variable, as saved in canonical format 1.3 text. Responsibilities: - Own the declared name, the exact element type…
- BehaviorSourceDeclaredValueBlock: Document block owning the authoritative format 1.3 declared-value records. Responsibilities: - Anchor the canonical position where the writer emits the variable…
- BehaviorSourceDeclaredValueOrigin: Which legacy declaration a projected declared value came from. Responsibilities: - Mark a value the reader projected from a format 1.0 through 1.2 field…
- BehaviorSourceDiagnostic: One diagnostic emitted by the parser. Line numbers are 1-based.
- BehaviorSourceDiagnosticSeverity: Severity of a parser-emitted diagnostic.
- BehaviorSourceDiagramDeclBlock: The Mermaid diagram declaration line, such as flowchart TD. The line is optional: Mermaid renderers want it and the bake ignores it. The writer emits RawLine…
- BehaviorSourceDictionaryEntry: One ordered dictionary entry: its key state, exact key payload, and exact value payload. Responsibilities: - Preserve the author’s saved key and value verbatim…
- BehaviorSourceDictionaryKeyState: The state of one saved dictionary key: an ordinary committed key, an uncommitted key that is still required, or a saved null key that is invalid….
- BehaviorSourceDocument: Round-trip-preserving document model.
- BehaviorSourceDocumentBlock: One block in the authored document: a header line, the diagram-decl line, a node block (metadata + layout + node-line), an edge line, a blank line, or a…
- BehaviorSourceDormantTransitionConditionCodec: Deterministic source codec for a predicate group made dormant by an Event trigger. Responsibilities: - Preserve group mode, predicate list order, fields,…
- BehaviorSourceEdge: Semantic view of one authored edge between nodes.
- BehaviorSourceEdgeBlock: One authored edge line. The writer rebuilds the line from Edge rather than copying source text, reusing Indent and ArrowToken so the author’s indentation and…
- BehaviorSourceFieldDeclarationBlock: Document block declaring blackboard/context field ids that nodes may reference from read and write metadata.
- BehaviorSourceFieldType: Canonical scalar field types supported by behavior source declarations.
- BehaviorSourceFieldTypeDeclarationBlock: Document block declaring non-default blackboard field types.
- BehaviorSourceFormatBlock: Additive source-format header block. Responsibilities: - Preserve the parsed canonical source-format version in document order. Does NOT: - Replace the…
- BehaviorSourceFormatTokens: Canonical header tokens for every additive behavior-source format version. Responsibilities: - Own the one spelling of each
%% source-format:token used by… - BehaviorSourceFormatVersion: Additive canonical behavior-source format version. Responsibilities: - Distinguish legacy sources from sources carrying semantic parameters. Does NOT: - Replace…
- BehaviorSourceGraphMemberBindingsBlock: Document block owning the graph-level blackboard-authored member bindings. Responsibilities: - Anchor the canonical position where the writer emits graph-level…
- BehaviorSourceHeaderLayerBlock: The %% layer: header line, which declares what kind of source the file is. The writer re-emits the line from Layer in canonical form, so the authored token…
- BehaviorSourceHeaderVersionBlock: The %% behavior-version: header line, which carries the author-controlled version of the graph itself. The writer re-emits the line from Version in canonical…
- BehaviorSourceHostedBehaviorConfiguration: Additive lifecycle and terminal-result event settings for one state-hosted tree. Responsibilities: - Preserve the normalized lifetime and optional Success and…
- BehaviorSourceHostedBehaviorLifetime: Authored lifetime for a behavior tree hosted by a state.
- BehaviorSourceLayoutEntry: One key/value pair inside a %% layout: { … } block. Authoring round-trip preserves keys verbatim; the writer normalizes the order alphabetically by key name.
- BehaviorSourceLoader: Parses Mermaid behavior source text, runs BehaviorBaker, and returns the deterministic BakedBehaviorArtifact. Responsibilities: - Parse the loaded source via…
- BehaviorSourceMemberAccess: Access requirements an operation places on its exact member.
- BehaviorSourceMemberAgentResolve: The exact agent-relative resolution shape for an agent-relative target.
- BehaviorSourceMemberArgument: One ordered by-value argument of a method or message binding. Responsibilities: - Pair one exact parameter type with its authored constant or blackboard source….
- BehaviorSourceMemberArgumentSource: Where a member argument value comes from.
- BehaviorSourceMemberBackendSelection: Backend selection over one binding set. Responsibilities: - Report whether one binding set mixes entity and GameObject target modes, naming both. Does NOT: -…
- BehaviorSourceMemberBackendVerdict: The verdict of backend selection over one binding set. Responsibilities: - State whether one binding set mixes entity and GameObject target modes, and name both…
- BehaviorSourceMemberBinding: One authored member binding attached to a reusable member node or created directly from the blackboard. Responsibilities: - Own the exact target, identity,…
- BehaviorSourceMemberBindingOrigin: Whether a member binding was authored on a node or directly from the blackboard.
- BehaviorSourceMemberComparison: The authored comparison contract of a member condition. Responsibilities: - Pair one bounded operator with a constant or blackboard right operand and the…
- BehaviorSourceMemberConditionResult: Behavior result returned by a satisfied or failed member condition outcome.
- BehaviorSourceMemberDirection: Authored synchronization direction of a property or field binding.
- BehaviorSourceMemberEntityContainer: The exact container of one entity member binding, present only when the target container is a buffer. Responsibilities: - Carry the exact unmanaged buffer…
- BehaviorSourceMemberEntityContainerKind: Whether an entity member binding addresses a component or one exact buffer entry.
- BehaviorSourceMemberEntityEntrySelector: How one exact buffer entry is addressed. First, last, any, and value-search selection are deliberately absent: which entry the node acts on is part of the…
- BehaviorSourceMemberEntityEvent: The backend-local runtime source of one entity Event Condition. Responsibilities: - Name the observed enableable component and its authored polarity, or state…
- BehaviorSourceMemberEntityEventSourceKind: The backend-local runtime source an entity Event Condition observes.
- BehaviorSourceMemberEntityHopKind: The one hop a Handle target takes from its fixed base.
- BehaviorSourceMemberEntityPolarity: The authored enablement state that counts as one occurrence.
- BehaviorSourceMemberIdentity: The exact identity of one bound member. Responsibilities: - Carry the declaring type identity, member kind and identifier, static flag, ordered exact parameter…
- BehaviorSourceMemberKind: The CLR member category of an exact bound member.
- BehaviorSourceMemberNotification: The exact event identity used for authored member-to-blackboard notification. Responsibilities: - Name the exact event on the target used to observe member…
- BehaviorSourceMemberOperationKind: The six reusable member operation families.
- BehaviorSourceMemberParameterModifier: The exact C# modifier of one authored method parameter.
- BehaviorSourceMemberParamsInputForm: How the final
paramsparameter of a member binding supplies its array argument. - BehaviorSourceMemberPortableIdentity: The split between the portable member binding identity and the backend-local identity. Responsibilities: - Name the portable and backend-local field sets, and…
- BehaviorSourceMemberRefBinding: The one shared derivation of a ref parameter’s Write to destination and link state. Bake, source validation, the binding rail, the canvas projection, and…
- BehaviorSourceMemberResult: The authored result contract of a method binding. Responsibilities: - Declare what the operation does with its return value and, for a blackboard result, the…
- BehaviorSourceMemberResultForm: What a method operation does with its return value.
- BehaviorSourceMemberSynchronization: How a projected member blackboard entry synchronizes with its member.
- BehaviorSourceMemberTarget: The exact explicit target contract of one member binding. Responsibilities: - Carry the target mode, agent-relative resolution, explicit-reference slot key, and…
- BehaviorSourceMemberTargetMode: How a member binding resolves its target instance.
- BehaviorSourceMemberTargetModes: The closed target-mode vocabulary and its backend classification. Responsibilities: - Map every target mode to its canonical token and to exactly one backend….
- BehaviorSourceNode: Semantic view of one authored node. Keeps graph-owned metadata exactly as authored while allowing import, validation, and baking to resolve descriptor-owned…
- BehaviorSourceNodeBlock: One authored node: its declaration line together with the %% metadata, parameter, member-record and layout comment lines that precede it. The writer regenerates…
- BehaviorSourceNodeKind: Behavior-tree / statechart node taxonomy as carried in the Mermaid source. Each node line carries one node-type token (the Mermaid :::class suffix) which the…
- BehaviorSourceParameter: One ordered semantic parameter attached to a source node. Responsibilities: - Preserve a stable key, its raw canonical value, and source location. Does NOT: -…
- BehaviorSourceParseResult: Result of a parse: the document (round-trip view), the AST (semantic view), and the diagnostics list.
- BehaviorSourcePassthroughCommentBlock: A %% comment line the reader does not interpret: anything that is not a header, a declaration, a node metadata, parameter or layout block, a member record, or a…
- BehaviorSourceRuntimePath: The runtime a graph bakes for. The path is a property of the graph, set in the graph’s inspector home on the Runtime path row, and it decides how the shared…
- BehaviorSourceRuntimePathBlock: The graph’s Runtime path header block. Responsibilities: - Preserve the parsed Runtime path in document order so the shared canonical target-mode tokens read…
- BehaviorSourceServiceDeclarationBlock: Document block declaring external service ids that nodes may reference from waits metadata and service-queue writes.
- BehaviorSourceStateParameterTokens: Canonical semantic parameter tokens for state-hosted Behavior Tree authoring. Responsibilities: - Own the shared parameter and value spellings used by Runtime…
- BehaviorSourceTransitionConditionGroup: Ordered predicates and their authored
alloranycombination mode. - BehaviorSourceTransitionConditionGroupMode: Authored transition predicate combination mode.
- BehaviorSourceTransitionOperandKind: Which authored value a typed transition predicate compares its left field against. Responsibilities: - Separate the existing typed constant from a same-type…
- BehaviorSourceTransitionOperandTokens: Canonical source tokens that mark a transition predicate’s right operand. Responsibilities: - Own the one marker character that distinguishes a graph-value…
- BehaviorSourceTransitionPredicate: One parsed typed predicate in an authored transition condition group. The right operand is either the authored constant in RawLiteral or the declared graph…
- BehaviorSourceTransitionTriggerTokens: Canonical semantic parameter tokens used to retain an inactive transition trigger. Responsibilities: - Name the source parameter that carries a dormant…
- BehaviorSourceTypeForwarding: Exact type identity resolved through assembly type forwarders. Responsibilities: - Resolve one recorded (assembly simple name, full CLR type name) pair to its…
- BehaviorSourceTypeIdentity: One exact type identity: the pair of assembly simple name and full CLR type name. Responsibilities: - Identify a type exactly without version, culture, or…
- BehaviorSourceTypeKeywords: The six built-in scalars canonical source writes as C# keywords with no assembly. Responsibilities: - Map between the canonical keyword token and the exact full…
- BehaviorSourceValidationProfileBlock: Explicit consumer validation-profile header block. Responsibilities: - Preserve the stable profile token selected by canonical source. Does NOT: - Discover,…
- BehaviorValidationContext: Immutable input supplied to an explicitly composed validation extension. Responsibilities: - Expose the source AST and the operation-local node authoring…
- BehaviorValidationOptions: Explicit inputs to one validator operation. Responsibilities: - Supply the operation-local node registry and selected consumer validation extensions. Does NOT:…
- BehaviorValidationResult: Validation result for one source operation. Responsibilities: - Own the structured diagnostics appended by package and extension validation rules. - Report…
- BehaviorValidator: Bake-time validation hooks for the node-author contract per section Bake-time validation. The single source of truth for these checks; BehaviorBaker delegates…
- IBehaviorStateMachineConditionProvider: Consumer-owned source of condition fields available to State Machine authoring. Responsibilities: - Advertise exact Int32 field identifiers that the consuming…
- IBehaviorValidationExtension: Game-neutral hook for validation rules supplied by an explicitly composed consumer. Responsibilities: - Identify the source validation profile it implements…
- MermaidBehaviorSourceReader: Parser for the Mermaid behavior-source format defined in and the consuming project’s behavior-authoring guide. Responsibilities: - Tokenize a Mermaid…
- MermaidBehaviorSourceWriter: Writer for the Mermaid behavior-source format defined in and the consuming project’s behavior-authoring guide. Responsibilities: - Serialize a…
- SerializedBakedBehavior: Unity-serializable mirror of a derived baked behavior artifact. Responsibilities: - Persist importer-derived POD tables and materialize fresh native ownership….
Low-level runtime
Section titled “Low-level runtime”These public contracts support advanced execution and data access. Most projects should integrate through the GameObject or entity entry points instead.
- AuthorityContext: Per-instance execution role. Built once at boot and passed to the tick job; cheap value type so it can travel through Burst code paths without managed…
- AuthorityGateOutcome: Outcome reported by the runtime gate.
- AuthorityHandoffHandler: Coordinates host-migration handoff for one or more followers. Invoked by the host loop the moment authority changes (FishNet migration, lobby host swap, etc.)…
- AuthorityHandoffOutcome: Outcome of a handoff resolution for one follower. Surfaces back to the runtime instance as a typed AuthorityHandoff failure when the node author’s resolution is…
- AuthorityHandoffReport: One row of handoff diagnostics: what happened to a follower’s pending externals during the handoff. Surfaced via follower.behavior-report so the operator can…
- AuthorityKind: Authority context declared on a behavior node. Numeric values are stable across bakes and are kept in lock-step with BakedAuthorityContext and the…
- BakedActionExecution: How one state’s ordered direct actions advance.
- BakedActionLifetime: How long one state’s Active Update remains active.
- BakedActionPhase: Which lifecycle group owns one state’s ordered direct action range.
- BakedAuthorityContext: Authority context as carried through the baked layout. Numeric values are stable across bakes and used as the authority-context-id stamped into BehaviorTrace….
- BakedAuthorityEntry: One row of the field-id → owner-authority table. Equivalent to the OwnerAuthority column on BakedBlackboardSlot; duplicated as a separate dense array so the…
- BakedBehaviorArtifact: Deterministic native layout derived from a Mermaid behavior source. Responsibilities: - Hold the Burst-friendly POD tables the tick job and authority gate read…
- BakedBlackboardEntityCollection: One declared list or array the entity path carries as its own per-instance storage. Responsibilities: - State the owning blackboard slot, the preserved authored…
- BakedBlackboardSlot: One blackboard slot: field id, type code, byte offset, owner authority. Per data-model.md §Blackboard / Context.
- BakedCarriedCollectionBuffer: One carried collection buffer inside the shared native blackboard. Responsibilities: - Describe the element stride, authored element count, and byte range of a…
- BakedComparisonOperator: Typed comparison applied by a baked transition predicate.
- BakedDeclaredDictionaryEntry: One ordered baked dictionary entry. Responsibilities: - Preserve the author’s key state, exact key payload, exact value payload, and authored order so a running…
- BakedDeclaredValue: One baked declared blackboard variable. Responsibilities: - Carry the exact name and type diagnostic indices, the declared shape and representation kind, the…
- BakedDeclaredValueHash: Deterministic 64-bit hashing of one declared value’s complete semantics. Responsibilities: - Hash the canonical identity of a declared value so its name,…
- BakedDeclaredValueStorage: Where the baked runtime keeps one declared value. Responsibilities: - Carry the derived storage decision into the artifact with a stable append-only code. Does…
- BakedDeterminismClass: Determinism class as carried into the baked artifact. Used by the runtime to refuse to tick a non-deterministic node on a non-host instance.
- BakedDictionaryKeyState: The saved key state of one baked dictionary entry. Responsibilities: - Keep the two reserved marker states distinct from a committed key in the artifact. Does…
- BakedEntityOccurrenceStateLayout: Deterministic sizing of the per-agent observed-occurrence state. Responsibilities: - Compute the aligned byte size one Event Condition reserves per agent: an…
- BakedFieldTypeCode: POD type tags for blackboard slot values.
- BakedHostedBehaviorLifetime: Baked lifetime for one behavior tree owned by a state.
- BakedHostedResultEventCondition: One event condition consumed by an authored state transition.
- BakedInterruptibleServiceRequirement: One interruptible service required by a branch reachable below a reactive condition. Responsibilities: - Connect a reactive observer to one stable service id…
- BakedManagedOperandCandidate: One authored literal a projected GameObject-path operand is compared against. Responsibilities: - Carry the deterministic one-based match ordinal the shared…
- BakedManagedOperandCandidateKind: What one baked managed-operand candidate compares against. Responsibilities: - Distinguish the reserved no-value literal from an exact text literal, so the…
- BakedManagedOperandProjection: One GameObject-path declared value projected into a native match ordinal. Responsibilities: - Name the companion slot the pre-tick member synchronization reads,…
- BakedManagedValueSlot: One dense generated companion slot for a GameObject-path declared value. Responsibilities: - Link the declared value to its dense typed companion field ordinal,…
- BakedMemberAccess: Access flags a baked member operation requires on its exact member.
- BakedMemberArgument: One baked argument of a member operation. Responsibilities: - Bind one parameter ordinal to a constant-table row, a blackboard layout slot with its generated…
- BakedMemberArgumentSource: Baked member argument value sources. Numeric values are stable across bakes.
- BakedMemberBlackboardBinding: One baked surfaced blackboard member binding row. Responsibilities: - Connect one projected blackboard slot to its operation, target, direction,…
- BakedMemberComparison: One baked member condition comparison. Responsibilities: - Carry the operator, compared value kind, right operand source, and the authored true and false…
- BakedMemberConditionResult: Baked behavior result of a condition outcome. Numeric values are stable across bakes.
- BakedMemberConstant: One canonical baked constant. Responsibilities: - Carry the value kind and the exact 64-bit value bits canonicalized at bake. Does NOT: - Store literal text;…
- BakedMemberConstantArray: One baked array-typed constant: an ordered contiguous range of scalar BakedMemberConstant element rows, used only by a non-null array-typed Constant…
- BakedMemberDirection: Baked synchronization directions. Numeric values are stable across bakes.
- BakedMemberEntityContainerKind: Whether one baked entity target addresses a component or one exact buffer entry. Numeric values are stable across bakes.
- BakedMemberEntityEntrySelector: How one baked entity target addresses its exact buffer entry. Implicit first, last, any, and value-search selection have no value here because they are not…
- BakedMemberEntityEvent: One baked entity event row: the backend-local source of an entity Event Condition and its bake-sized per-agent occurrence-state range. Responsibilities: - Carry…
- BakedMemberEntityEventSourceKind: The backend-local runtime source of one baked entity Event Condition.
- BakedMemberEntityHopKind: The one hop a baked Handle target takes from its fixed base.
- BakedMemberEntityNotification: Baked entity notification sources of one member-to-blackboard binding. Numeric values are stable across bakes. The entity path has no managed callback, so its…
- BakedMemberEntityOperandKind: The operand supplying a baked identity-field entry selector.
- BakedMemberEntityPolarity: The authored enablement state one baked entity Event Condition counts as an occurrence.
- BakedMemberEntityTarget: One baked entity target row. Burst-friendly POD; string indices address the artifact’s member string table for diagnostics only. Responsibilities: - Carry the…
- BakedMemberEvent: One baked event identity used by an event condition or an authored notification. Responsibilities: - Carry the exact declaring type indices, event name index,…
- BakedMemberOperation: One baked member operation row: the executable heart of a member node or graph-level blackboard binding. Responsibilities: - Carry the operation kind, 64-bit…
- BakedMemberOperationKind: Baked member operation families. Numeric values are stable across bakes.
- BakedMemberParameter: One exact baked parameter of a member operation. Responsibilities: - Carry the ordinal, supported value kind, exact CLR parameter name, and exact type identity…
- BakedMemberParameterModifier: Baked C# parameter modifier. Numeric values are stable across bakes.
- BakedMemberResultForm: Baked method result forms. Numeric values are stable across bakes.
- BakedMemberSynchronization: Baked synchronization mode flags. Numeric values are stable across bakes.
- BakedMemberSynchronizationRecord: One baked synchronization record of a property or field binding. Responsibilities: - Carry the direction, mode flags, and the notification event row when…
- BakedMemberTarget: One baked member target row. Burst-friendly POD; string indices address the artifact’s member string table for diagnostics only. Responsibilities: - Carry the…
- BakedMemberTargetMode: Baked member target resolution modes. Numeric values are stable across bakes.
- BakedNode: One node in the baked node table. Burst-friendly POD; pointer-free. Indices into the read/write/wait id-arrays are stored as (start, count) ranges in adjacent…
- BakedNodeKind: Baked node taxonomy. Numeric values are stable across bakes: the runtime jump-table dispatches on Kind.
- BakedNodeParameter: One dense Burst-compatible semantic node parameter. Responsibilities: - Store the stable parameter id, type tag, and exact scalar value words. Does NOT: - Own…
- BakedNodeParameterTypeCode: POD type tag for one baked semantic node parameter. Responsibilities: - Identify the representation stored in BakedNodeParameter. Does NOT: - Interpret values…
- BakedReactiveCondition: One condition observed while a lower-priority selector branch is running. Responsibilities: - Carry deterministic selector, guarded-branch, condition, order,…
- BakedStateActionList: One deterministic ordered direct-action range owned by a state lifecycle group. Responsibilities: - Address the state’s contiguous range in the ordered…
- BakedStateHostedBehavior: One state-owned hosted behavior tree and its additive lifecycle contract.
- BakedStateMachine: One independently addressable state machine in a composed executable artifact.
- BakedStateMachineCandidate: One ordered saved-machine candidate with its eligibility range.
- BakedStateMachineReference: One referenced-machine canvas node and its authored candidate range.
- BakedSubgraphReference: One subgraph reference. The source address is interned in the managed-side string table (SubgraphAddresses). The actual subgraph contents are not embedded: the…
- BakedTransition: One transition in the baked transition table.
- BakedTransitionCondition: One ordered typed predicate owned by a state transition. Responsibilities: - Carry the left operand’s field identity, resolved native slot, comparison, and…
- BakedTransitionConditionGroupMode: How an authored transition combines its ordered predicates.
- BakedTransitionRightOperandKind: Which value a baked transition predicate compares its left slot against. Responsibilities: - Say, in the row itself, whether the right operand is the row’s…
- BakedWeightedChild: One weighted direct child of a Probability Selector.
- BehaviorActionLifecycleRuntimeState: Bounded lifecycle progress for one action state’s Entry, Active Update, and Exit groups. Responsibilities: - Carry the selected lifecycle phase, the three…
- BehaviorActionRuntimeState: Persistent progress for one direct action in a baked state action list. Responsibilities: - Retain one action’s result, pending command identity, and activation…
- BehaviorDebugTickControl: Instance-owned per-follower debug pause / step state plus an explicit node-enter notification fan-out. Lives on the runtime that ticks behavior followers (Layer…
- BehaviorInterruptionRecord: Latest structured reactive interruption recorded by one runtime instance. Responsibilities: - Preserve interrupted and cause node identity, result, frame, and…
- BehaviorMachineResult: Final result of a state machine. A running or deliberately staying machine reports None; faults are never collapsed into an authored Failure result.
- BehaviorMemberFaultTrace: Managed companion trace for exceptional member failures whose actionable text cannot live in the Burst-safe BehaviorTrace value. The owning GameObject agent…
- BehaviorMemberRequestSlot: The single per-agent request/response channel for one in-flight immediate member operation. Immediate member operations (methods, messages, property and field…
- BehaviorMemberRequestState: Lifecycle state of the single per-agent immediate member request channel.
- BehaviorNestedMachinePhase: Stable lifecycle phase of a referenced machine activation.
- BehaviorNodeExecutionStatus: Compact latest-execution state retained for each baked behavior node. Responsibilities: - Represent resting, running, successful, unsuccessful, canceled,…
- BehaviorReactiveConditionState: Entity dynamic-buffer element mirroring one shared-core reactive observer state. Responsibilities: - Persist artifact-indexed observer state in entity chunk…
- BehaviorReferencePhase: Persistent lifecycle phase of one baked state-machine reference.
- BehaviorReferenceRuntimeState: Retained runtime reading for one baked state-machine reference. Responsibilities: - Preserve the selected candidate, nested cursor, terminal result, and host…
- BehaviorRepeatRuntimeState: Persistent progress for one baked Repeat decorator, indexed by its baked node. Responsibilities: - Retain the completed-attempt count independently for each…
- BehaviorResultCode: Per-leaf result code propagated through composites and surfaced via follower.behavior-report. Mirror of BehaviorNodeStatus kept on the runtime instance so the…
- BehaviorRuntimeArtifactBinding: Per-entity binding to a baked artifact’s native arrays. The host stamps this when it spawns an agent so main-thread composition can keep the artifact…
- BehaviorRuntimeBlackboardByte: Per-follower blackboard byte buffer. Stored as a DynamicBuffer on the follower entity so the per-instance allocation lives in ECS chunks alongside the cursor…
- BehaviorRuntimeInstance: Per-follower live execution state for a Layer 2 behavior graph. Responsibilities: - Carry the full runtime cursor: graph-id, current-node-id, current-state-id,…
- BehaviorRuntimeTickIdentity: Job-safe identity for an entity that may be advanced by BehaviorTickSystem. The artifact binding holds native containers and therefore cannot be read by or used…
- BehaviorStableId: Stable integer ids used in baked Burst-facing tables. Unlike per-artifact string-table indices, these values are canonical across artifacts so External Service…
- BehaviorStateSuspensionFrame: One native suspension frame created by Push. The frame preserves the complete scheduler cursor for one activation; action rows are stored in the companion…
- BehaviorTick: The single Burst-callable per-agent tick core (Principle III: one shared core, both object models). TickOne advances exactly one agent’s BehaviorRuntimeInstance…
- BehaviorTickBakedInput: The immutable, per-graph baked tables one tick step reads. Bundling them into one value lets the single Burst-callable TickOne core serve every caller: the…
- BehaviorTickContext: World-singleton context the system reads each frame. The host loop updates this before calling OnUpdate.
- BehaviorTickDebugDecision: Per-follower debug-tick decision the host publishes through BehaviorTickDebugDecisions. ShouldTick of false means “skip the tick this frame”. Responsibilities:…
- BehaviorTickDebugDecisions: Lightweight handle wrapping a NativeParallelHashMap`2 of follower ids to BehaviorTickDebugDecision so the tick system can read it without taking a dependency on…
- BehaviorTickJob: The legacy-compatible batched, Burst-compiled non-reactive behavior-graph tick. One ScheduleParallel advances every agent in the query for a single simulation…
- BehaviorTickStepResult: Result of one tick step over a single agent’s runtime instance. The step emits commands into the External Service Command Queue and updates the runtime instance…
- BehaviorTickSystem: ECS system that drives every BehaviorRuntimeInstance component on an agent entity through one tick step per simulation frame with a single batched parallel…
- BehaviorTimeLimitRuntimeState: Persistent elapsed state for one baked Time Limit decorator, indexed by its baked node. Responsibilities: - Retain the decorator’s own elapsed seconds while its…
- BehaviorTrace: Always-on Behavior Trace for a single follower. Bounded, Burst-friendly per-follower struct carrying eleven core 32-bit fields per data-model.md §Behavior Trace…
- BehaviorTraceHighDetailEntry: One row in the high-detail ring buffer. Per data-model.md §Behavior Trace (high-detail tier) each entry is a (timestamp, node-id, kind, payload-id) tuple. The…
- BehaviorTraceHighDetailKind: What a high-detail trace entry describes. Numeric values are stable so the editor debugger and any future trace dump format can decode archived traces…
- BehaviorTraceHighDetailRecorder: Editor / dev-build façade for recording high-detail trace events. Responsibilities: - Provide a single entry point the Layer 3 tick-system bridge and…
- BehaviorTraceHighDetailRegistry: Editor / dev-build registry of per-follower BehaviorTraceHighDetailRing instances and the activation reference count (so two debuggers binding the same id keep…
- BehaviorTraceHighDetailRing: Per-follower fixed-capacity ring buffer of high-detail trace entries. Responsibilities: - Hold up to Capacity recent BehaviorTraceHighDetailEntry records and…
- BehaviorTraceServiceBindings: Well-known service ids the always-on trace projects out of the runtime instance’s pending-external slots into named fields. Service ids are interned indices…
- BehaviorTraceTier: Trace verbosity tier for a single follower’s runtime instance. Maps to the always-on / high-detail tier split described in data-model.md §Behavior Trace….
- ExecutingRole: Role of the executing instance. The runtime authority gate compares this against a node’s declared AuthorityKind.
- FollowerHandoffRequest: One follower’s handoff request: which follower, and the active node’s declared resolution (read from the baked node’s authoring metadata by the host loop).
- PendingExternalSlot: One outstanding pending-external slot on a runtime instance. The runtime instance owns up to MaxPendingExternals of these so the tick job can resume on…
- ReactiveConditionRuntimeState: Per-agent state for one artifact-indexed reactive condition. Responsibilities: - Retain the last observed status and whether an observation has occurred. Does…
Namespaces
Section titled “Namespaces”- BitQuirky.Behavior.Authoring: 127 public types
- BitQuirky.Behavior.Authority: 8 public types
- BitQuirky.Behavior.Baked: 70 public types
- BitQuirky.Behavior.Blackboard: 10 public types
- BitQuirky.Behavior.Diagnostics: 10 public types
- BitQuirky.Behavior.Entities: 50 public types
- BitQuirky.Behavior.Execution: 29 public types
- BitQuirky.Behavior.ExternalService: 16 public types
- BitQuirky.Behavior.GameObject: 10 public types
- BitQuirky.Behavior.Member: 64 public types
- BitQuirky.Behavior.Movement: 5 public types
- BitQuirky.Behavior.Nodes: 23 public types
- BitQuirky.Behavior.Nodes.Action: 3 public types
- BitQuirky.Behavior.Nodes.Composite: 4 public types
- BitQuirky.Behavior.Nodes.Condition: 2 public types
- BitQuirky.Behavior.Nodes.Decorator: 5 public types
- BitQuirky.Behavior.Nodes.State: 18 public types
- BitQuirky.Behavior.Nodes.Subgraph: 2 public types
Source fingerprint: sha256:ad0983d00d773d882bc61865e18d8c5559e009d181e5891575cd7f262515b23e