
In Flow Core, a Trigger is essentially an external entry point into the graph, rather than a regular input to a flow node. The clearest evidence is that a Trigger normally has no In port and only exposes output ports. A standard Trigger has a single Out, while Input, UI, and Blackboard trigger nodes are simply variants built on the same entry-point mechanism.
It can be understood this way:
Within Flow Node Kind, standard Trigger, system Trigger, UI Trigger, input Trigger, and Blackboard Trigger are represented as separate node categories. At runtime, however, they are all compiled into the same trigger-slot structure.
The core execution path works like this:
RegisterTriggers registers listeners based on trigger type. Standard Triggers are registered to Unity, Global, Local, or Ticker sources. UI Triggers bind to Unity UI or Event System callbacks. Input Old Trigger and Input New Trigger enter the input polling pipeline. On Blackboard Value Changed Trigger subscribes to the Blackboard’s OnSet.TryExecuteTrigger(...). At that point, the payload and signal context are written into FlowContext, and execution begins from the corresponding trigger slot.Nexts[outputIndex].There are several important points to keep in mind:
FlowValueSource.Payload and TriggerPayloadValueMode, rather than through an arbitrary object container. For more details, refer to Payload.
In the editor, the UI for Trigger-related nodes is not a single fixed panel. Instead, it is built dynamically based on the specific node type.