Debug
Every Debug command in CodeFizz Editor Agent, with parameters and examples.
Every Debug command in CodeFizz Editor Agent, with parameters and examples.
17 commands. Each shows its parameters and an example, and has a copyable deep link, so you (or an AI agent) can jump straight to one.
set_mcp_debugEnable or disable MCP debug mode (token tracking)
Toggles MCP debug mode which enables token usage tracking on every MCP command. When enabled, the bridge measures the approximate token size of each request and response, accumulates totals per command, and tracks call counts. Use get_mcp_token_stats to read the accumulated statistics. Useful for identifying which commands produce oversized responses that waste LLM context budget.
| Parameter | Type | Required | Description |
|---|---|---|---|
| enabled | bool | No | Enable debug mode |
cfa set_mcp_debug --enabled
cfa set_mcp_debug --enabled=falseget_mcp_token_statsGet MCP token usage statistics
Returns accumulated token usage statistics from the MCP bridge. Shows per-command call counts, total input/output tokens, and averages. Only collects data when debug mode is enabled via set_mcp_debug. Use this to audit which MCP commands consume the most tokens and optimize your workflow accordingly.
cfa get_mcp_token_statsset_breakpointPut a breakpoint on a Blueprint node
Puts a breakpoint on a Blueprint node so execution halts there during play. Works in any graph that compiles to bytecode: event graphs, user functions, Widget Blueprints, Gameplay Ability Blueprints, and Behavior Tree task and service Blueprints. The engine refuses some nodes and this tells you which rule applied instead of failing vaguely: pure nodes have no execution pin to stop on, macro and interface graphs are expanded away at compile time so a breakpoint there is never reached, and Animation Blueprint pose nodes are not bytecode at all (the Anim Blueprint event graph is fine). Breakpoints are stored in your editor settings, not in the asset, so this neither modifies nor dirties the Blueprint and does not need saving.
| Parameter | Type | Required | Description |
|---|---|---|---|
| blueprint_path | string | Yes | Blueprint asset, e.g. /Game/Blueprints/BP_Player |
| graph_name | string | No | Graph holding the node; optional when the node id is unambiguous |
| node_id | string | Yes | Node id from search_nodes or analyze_blueprint_graph |
| enabled | bool | No | Create disabled, or disable an existing breakpoint |
cfa set_breakpoint --blueprint-path /Game/BP_Player --node-id 8F2A...C1 --graph-name EventGraph
cfa set_breakpoint --blueprint-path /Game/BP_Player --node-id 8F2A...C1 --enabled=falseremove_breakpointRemove one Blueprint breakpoint, or all in a blueprint
Removes a breakpoint from one node, or every breakpoint in the blueprint with --all. Like setting one, this touches only your editor settings and never the asset.
| Parameter | Type | Required | Description |
|---|---|---|---|
| blueprint_path | string | Yes | Blueprint asset |
| graph_name | string | No | Graph holding the node |
| node_id | string | No | Node to clear; omit with --all |
| all | bool | No | Remove every breakpoint in the blueprint |
cfa remove_breakpoint --blueprint-path /Game/BP_Player --node-id 8F2A...C1
cfa remove_breakpoint --blueprint-path /Game/BP_Player --alllist_breakpointsList Blueprint breakpoints
Lists breakpoints with their node, graph and enabled state. Omit --blueprint-path to see every loaded blueprint that has one.
| Parameter | Type | Required | Description |
|---|---|---|---|
| blueprint_path | string | No | Only this blueprint; omit for all |
| filter | string | No | Only breakpoints whose node title or graph contains this, case insensitive |
| max_results | int | No | Maximum to return; truncation is always reported |
cfa list_breakpoints
cfa list_breakpoints --blueprint-path /Game/BP_Playerget_debug_stateIs execution halted, and where
The command to poll while debugging. Reports whether execution is halted, which node and blueprint it stopped on, whether it stopped from a breakpoint or from a step, and whether play is instead paused at a Behavior Tree breakpoint. Deliberately small so it is cheap to poll in a loop while waiting for a breakpoint to be reached.
| Parameter | Type | Required | Description |
|---|---|---|---|
| detail | bool | No | Also report call stack depth |
cfa get_debug_state
cfa get_debug_state --detaildebug_stepContinue, step or abort a halted editor
Drives a halted editor the same way the Blueprint editor's own toolbar does. continue resume until the next breakpoint into step into the next node, descending into called functions over step to the next node in this graph without descending out run until the current function returns abort stop script execution entirely Stepping is refused unless execution is genuinely halted. That is deliberate: arming a step while the game runs makes the editor stop on whatever unrelated Blueprint node happens to execute next, anywhere in the project. When play is paused at a Behavior Tree breakpoint only continue applies, because that pauses the world rather than halting a script frame.
| Parameter | Type | Required | Description |
|---|---|---|---|
| action | string | Yes | continue, into, over, out or abort |
cfa debug_step --action continue
cfa debug_step --action overlist_debug_objectsList live instances of a blueprint you can inspect
Lists the live instances of a blueprint, which is the same set the editor's own "Showing debug info for instances of this blueprint" dropdown offers, labelled the same way including Client and Server suffixes for networked play. Instances only exist while playing.
| Parameter | Type | Required | Description |
|---|---|---|---|
| blueprint_path | string | Yes | Blueprint whose instances to list |
| filter | string | No | Only instances whose label contains this, case insensitive |
| max_results | int | No | Maximum to return |
cfa list_debug_objects --blueprint-path /Game/BP_Playerset_debug_objectChoose which instance the debugger reports values from
Picks which live instance of a blueprint inspect_debug_value and pin watches read from. Match on the label from list_debug_objects or on a full object path.
| Parameter | Type | Required | Description |
|---|---|---|---|
| blueprint_path | string | Yes | Blueprint to set the debugged instance on |
| instance | string | No | Label from list_debug_objects, or a full object path |
| clear | bool | No | Deselect so values come from whichever instance next executes |
cfa set_debug_object --blueprint-path /Game/BP_Player --instance "BP_Player_C_0 (Server)"
cfa set_debug_object --blueprint-path /Game/BP_Player --clearinspect_debug_valueRead values off the instance being debugged
Reads values from the live instance selected with set_debug_object. With no --path it lists the members so you can see what is there. With --path it reads exactly one value, including nested struct members and array elements, e.g. Inventory.Items[2].Count. --filter and --max-results are what keep this usable on an actor with hundreds of properties: narrow to what you care about instead of dumping everything. The listing is deliberately one level deep, because object graphs contain back-references (Actor to Component to Owner) that a naive recursive expansion never finishes walking. Member variables and event-graph values read fine while the game is simply running. Values local to a function only exist while halted inside that function, and are reported as out of scope otherwise.
| Parameter | Type | Required | Description |
|---|---|---|---|
| blueprint_path | string | No | Blueprint to read from; defaults to the one currently halted |
| path | string | No | Dotted or indexed path to one value; omit to list members |
| filter | string | No | Only members whose name contains this, case insensitive |
| depth | int | No | Levels to expand |
| max_results | int | No | Maximum members per level |
cfa inspect_debug_value --blueprint-path /Game/BP_Player --filter health
cfa inspect_debug_value --blueprint-path /Game/BP_Player --path Inventory.Items[0].Countget_call_stackThe Blueprint call stack at a halt
Returns the Blueprint call stack, innermost frame first, with the function and owning object per frame. Only exists while execution is halted, so poll get_debug_state first.
| Parameter | Type | Required | Description |
|---|---|---|---|
| max_results | int | No | Maximum frames to return |
cfa get_call_stackget_execution_traceWhich nodes recently executed
Returns the nodes that recently executed, most recent first, resolved from raw bytecode offsets back to real node names and graphs. This is the engine's fixed-size ring buffer, so it is a recent window rather than a full history; older execution is genuinely gone rather than truncated by us.
| Parameter | Type | Required | Description |
|---|---|---|---|
| blueprint_path | string | No | Only samples from this blueprint |
| max_results | int | No | Maximum samples to return |
cfa get_execution_trace
cfa get_execution_trace --blueprint-path /Game/BP_Player --max-results 20set_pin_watchWatch a pin's value across halts
Watches a pin so its value is reported whenever execution halts, without needing a breakpoint on that exact node. Validated against the engine's own rule before writing, since the underlying call accepts anything and rewrites your settings file on every invocation. Stored in editor settings, so it does not dirty the asset.
| Parameter | Type | Required | Description |
|---|---|---|---|
| blueprint_path | string | Yes | Blueprint holding the pin |
| graph_name | string | No | Graph holding the node |
| node_id | string | Yes | Node holding the pin |
| pin_name | string | Yes | Pin to watch, e.g. ReturnValue |
| remove | bool | No | Remove the watch instead of adding it |
cfa set_pin_watch --blueprint-path /Game/BP_Player --node-id 8F2A...C1 --pin-name ReturnValue
cfa set_pin_watch --blueprint-path /Game/BP_Player --node-id 8F2A...C1 --pin-name ReturnValue --removelist_pin_watchesList watched pins, optionally with values
Lists watched pins. With --values it also reads each current value; a value that cannot be read says why, because out of scope, no instance selected, and no backing property have genuinely different fixes.
| Parameter | Type | Required | Description |
|---|---|---|---|
| blueprint_path | string | No | Only this blueprint; omit for all |
| values | bool | No | Also read each current value |
| max_results | int | No | Maximum watches to return |
cfa list_pin_watches
cfa list_pin_watches --blueprint-path /Game/BP_Player --valuesset_bt_breakpointPause play when a Behavior Tree reaches a node
Pauses play when a running Behavior Tree reaches a node. Only composite and task nodes can carry one, which is the engine's own rule; decorators, services and the root cannot. This works differently from a Blueprint breakpoint in two ways worth knowing. It pauses the whole world rather than halting one AI, so every actor stops. And it is held by this editor session rather than written into the asset, because the engine's own Behavior Tree breakpoints cannot be armed without an open Behavior Tree editor window and do not survive a restart either. When it hits, read the live state with get_bt_runtime, which reports the active tasks and the blackboard, then resume with debug_step --action continue.
| Parameter | Type | Required | Description |
|---|---|---|---|
| behavior_tree_path | string | Yes | Behavior Tree asset, e.g. /Game/AI/BT_Enemy |
| node_id | string | Yes | Node id from get_behavior_tree or search_bt_nodes |
| enabled | bool | No | Create disabled, or disable an existing one |
cfa set_bt_breakpoint --behavior-tree-path /Game/AI/BT_Enemy --node-id 4C1B...9Aremove_bt_breakpointRemove a Behavior Tree breakpoint
Removes one Behavior Tree breakpoint, or every one in the tree with --all.
| Parameter | Type | Required | Description |
|---|---|---|---|
| behavior_tree_path | string | Yes | Behavior Tree asset |
| node_id | string | No | Node to clear; omit with --all |
| all | bool | No | Remove every breakpoint in the tree |
cfa remove_bt_breakpoint --behavior-tree-path /Game/AI/BT_Enemy --node-id 4C1B...9A
cfa remove_bt_breakpoint --behavior-tree-path /Game/AI/BT_Enemy --alllist_bt_breakpointsList armed Behavior Tree breakpoints
Lists armed Behavior Tree breakpoints with their node and execution index.
| Parameter | Type | Required | Description |
|---|---|---|---|
| behavior_tree_path | string | No | Only this tree; omit for all |
| max_results | int | No | Maximum to return |
cfa list_bt_breakpoints
cfa list_bt_breakpoints --behavior-tree-path /Game/AI/BT_Enemy