
In Flow Core, the role of Flow Core Process can be summarized in one sentence: it serves as the runtime host for a Flow Graph within the scene, and acts as both the entry point and the lifecycle owner of the graph during execution. For details, please refer to Flow Graph.
More specifically, Flow Core Process is responsible for five core tasks:
1. Hosting the graph and creating its runtime instance
Flow Core Process holds the graphAsset. During Awake, it first rebuilds the Blackboard bindings and then calls BuildRuntime(). That method executes graphAsset.CreateRuntime(_blackboards), which turns the graph asset into a Flow Graph Runtime instance dedicated to that specific object.
2. Binding Local, Scene, and Global Blackboards
It maintains an internal Flow Blackboard Collection that gathers all required Local, Scene, and Global Blackboards for the current object, so nodes can resolve data from them at runtime.
3. Providing execution entry points and starting execution chains
Whether execution is triggered by external code, Unity lifecycle events, or the signal system, it ultimately goes through Flow Core Process. It exposes several runtime entry APIs:
PublishUnityTrigger(...): converts a Unity event into a Trigger in the graphExecuteEnter(...): starts execution by Enter index or node IDExecuteEnterByTitle(...): starts execution by Enter titleAt their core, all of these APIs drive _runtime to begin executing a chain.
4. Owning and managing the runtime lifecycle
Flow Core Process is responsible for creating, stopping, and disposing of the runtime:
AwakeOnDisableOnDestroyRebuildRuntime()This means Flow Core Process is not just a component that references a graph. It is the lifecycle manager of the graph runtime.