Skip to main content
Flow Core Documentation
Menu

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

ScopeUse forExample
LocalData owned by one process or objectCurrent target, movement speed, interaction prompt
SceneData intentionally shared within a sceneEncounter phase, scene objective, shared spawn count
GlobalData intentionally shared across broader application flowSelected 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

  1. Open the Blackboard’s Edit view.
  2. Choose the required type bucket, such as Bool, Int, Float, String, Vector3, or a supported reference type.
  3. Create a stable key.
  4. Bind the Blackboard to the process when using Local data.
  5. Configure the graph field with the same scope, index, key, and type.
  6. Set Debug Context and confirm the summary resolves.
Image 02_05_01Screenshot production note

此处插图应该是 Blackboard Edit 视图中多个类型分组的截图;展开 Bool、Float 和 Vector3,框选 Vector3 的 TargetScale 键与其值。

Image 02_05_02Screenshot production note

此处插图应该是 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 payload for data supplied by the Trigger or Entry that started the chain.
  • Use TempPayload for 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.
  • payload is not writable shared storage.
  • TempPayload is 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.