Debug and Maintain Projects
Debugging Running Graphs
Find where a graph start, route, result, or typed value diverges from the authored intent.
- Audience
- All developers
- Time
- 10 minutes
- Requires
- A reproducible Play Mode result
- Modules
- Flow Core
On this page
Debug one boundary at a time: runtime owner, start point, connection, node result, then value source. This order prevents an incorrect scene binding from being mistaken for a node problem.
Reproduce one result
Reduce the issue to one Trigger or Entry and one observable result. Open the Game view, Console, relevant Inspector, and Flow Graph Editor. Enter Play Mode with the intended scene object selected.
1. Confirm the runtime owner
- Select the GameObject that should run the behavior.
- Confirm
FlowCoreProcessis enabled. - Confirm it references the graph you opened.
- Confirm required Local Blackboards are bound at the expected indices.
2. Confirm the start point
For a Trigger, verify event source and settings. For an Entry, verify the caller uses the exact identity or title. Add a temporary visible Action immediately after the start if necessary.
3. Set Debug Context
Choose the exact GameObject whose process receives the event. Runtime visualization is filtered by process context; another object using the same graph can make the correct graph appear silent.
此处插图应该是 Graph Editor 的 Debug Context 下拉框与两个共享 Graph 的场景对象截图;选中正确对象后显示运行高亮,错误对象一侧显示无记录,并标注差异。
4. Follow the execution route
Trace the active connection from the start point. At the first node that differs from expectation, inspect:
- Guard Conditions and Reject Result;
- Invoke Mode if the node can be reached while busy;
- Pass Enabled for supported control-input nodes;
- output selection and connected branch;
- any waiting, retrying, or module-specific lifecycle state.
5. Validate the value path
Check the complete typed source: literal or context mode, Blackboard scope, index, key, type, payload availability, and target resolution. Editor summaries help locate a mismatch, but Play Mode is the source of truth for timing and current state.
此处插图应该是一个运行失败的 Action 调试截图;同时展开 Guard、Invoke Mode、Blackboard 路径和运行追踪警告,并用 1–4 标注建议检查顺序。
Read visual debugging
Recent node color, outlines, and moving edge indicators show chain direction and results. Pulsing or held visualization commonly indicates async work that is still active. Module trees may show evaluation differently from normal Flow, so confirm root activation before examining children.
Common mistakes
- Editing a shared graph while inspecting the wrong process instance.
- Changing topology before confirming the Trigger or Entry starts.
- Checking only key spelling and not Blackboard scope, index, and type.
- Treating an expected Invalid result as if execution disappeared.
- Ignoring repeated events while a node remains busy or waiting.