Runtime Data
Blackboard & Typed Values
Give graph data an explicit owner, scope, key, and type.
- Audience
- All developers
- Time
- 10 minutes
- Requires
- A FlowCoreProcess and a data-driven graph field
- Modules
- Flow Core
On this page
Use a Blackboard when a value should be named, typed, inspectable, and available beyond one event call. The important decision is not only the key name; it is the complete path: scope, Blackboard index, key, and value type.
Choose an owner
| Scope | Use for | Example |
|---|---|---|
| Local | Data owned by one process or object | Current target, movement speed, interaction prompt |
| Scene | Data intentionally shared within a scene | Encounter phase, scene objective, shared spawn count |
| Global | Data intentionally shared across broader application flow | Selected profile, global difficulty, cross-scene mode |
Choose the smallest scope that matches ownership. Global data is not a shortcut for uncertain ownership.
Create a typed path
- Open the Blackboard’s Edit view.
- Choose the required type bucket, such as
Bool,Int,Float,String,Vector3, or a supported reference type. - Create a stable key.
- Bind the Blackboard to the process when using Local data.
- Configure the graph field with the same scope, index, key, and type.
- Set Debug Context and confirm the summary resolves.
此处插图应该是 Blackboard Edit 视图中多个类型分组的截图;展开 Bool、Float 和 Vector3,框选 Vector3 的 TargetScale 键与其值。
此处插图应该是 Graph Editor 中一个 Vector3 字段选择 Blackboard 来源后的截图;显示 Local、索引 0、TargetScale,并与 Inspector 中的同名键用标注线对应。
Select the right data channel
Blackboard is one of several explicit sources:
- Use a literal for a value that belongs to this one authored field.
- Use Blackboard for reusable configuration or state.
- Use
payloadfor data supplied by the Trigger or Entry that started the chain. - Use
TempPayloadfor writable scratch data produced and consumed within one chain. - Use supported context or target resolvers for values derived from the current execution context.
Do not copy every payload into Blackboard automatically. Persist only values that need ownership beyond the event.
Behavior contract
Typed access helps Flow Core avoid ambiguous conversions and hot-path boxing. A key that exists under another type does not satisfy the requested typed path. Local Blackboard order also matters when a graph selects an index.
When changing Blackboard lists at runtime, batch changes and rebuild bindings once. Avoid reordering lists while active chains still depend on previous indices.
Common misunderstandings
- A key name alone is not a complete binding.
- Scene scope does not mean the value automatically survives a scene change.
- Global scope should still have explicit ownership and reset policy.
payloadis not writable shared storage.TempPayloadis cleared with the chain and should not hold cross-chain state.
Continue to persistence
When typed values must survive beyond the current scene state or play session, continue with the supported Flow Core save channel.
Video · 2:18Flow Core Save and Load OverviewPreview the runtime persistence loop before configuring the written workflow.