CodeFizz
ToolsDemoDocsBlogRoadmapChangelogPricingFAQ
Get the plugin

Getting Started

  • Introduction
  • Quick Start
  • Requirements
  • Installing the CLI
  • License & Machines

Guides

  • Installing the Plugin
  • The AI Skill
  • CLI vs MCP
  • Multiple Editors
  • How It Works
  • Discovering Commands
  • The Editor Chat Panel

Walkthroughs

  • Build a Blueprint with AI
  • Author a Material Graph
  • Create a Niagara System
  • Rig a Character with AI
  • Build an Animation Blueprint
  • Build Sound with AI
  • Build a Modular Character
  • Grow a Tree with AI
  • Build a Gameplay Ability System
  • Generate a Landscape with AI
  • Work with World Partition

Reference

  • Reference
  • Audio
  • Mutable
  • Control Rig
  • Niagara
  • PCG
  • Procedural Vegetation
  • Materials
  • Gameplay Ability System
  • World Building
  • Behavior Trees
  • Environment Queries
  • StateTree
  • Sequencer
  • Level Actors
  • Project Settings
  • Blueprints
  • Blueprint Structs
  • Enhanced Input
  • Asset Management
  • Bulk Asset Ops
  • Data Assets
  • Object Properties
  • UMG Widgets
  • Data Tables
  • Curves
  • Animation
  • Console Commands
  • Profiling
  • Core
  • Debug
  • Mass Entity (ECS)

Help

  • FAQ
  • Troubleshooting
  • For AI Agents
  • Fix: Plugin failed to load, module could not be loaded (GetLastError 126)
  • Fix: bridge unreachable, editor not responding
  • Fix: cfa targeted the wrong Unreal editor
  • Fix: the CodeFizz panel does not show Active
  • Fix: Unknown command, or plugin version mismatch after an update
DocsReferenceDebug

Debug

Every Debug command in CodeFizz Editor Agent, with parameters and examples.

Loading…
PreviousCoreNextMass Entity (ECS)
CodeFizz

A drop-in Unreal Engine 5 plugin that exposes the entire editor surface (Blueprints, Materials, Niagara, PCG, StateTree, Control Rig, Insights profiling, and more) over the Model Context Protocol. Connect Claude Code, Cursor, VS Code, or any MCP-compatible client and let your AI build inside the engine.

Product

  • Features
  • Docs
  • Tools
  • Blog
  • Demo
  • Roadmap
  • Changelog
  • Pricing
  • FAQ

Resources

  • Install guide
  • Discord
  • YouTube
  • Open-source edition
  • Manage subscription

Legal

  • Refund Policy
  • Privacy Policy
  • Terms of Service

© 2026 CodeFizz. All rights reserved.

CodeFizz Editor Agent is a CodeFizz product. Payments processed by Polar Software, Inc. (Polar), the Merchant of Record.

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_debug

Enable 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.

ParameterTypeRequiredDescription
enabledboolNoEnable debug mode
example
cfa set_mcp_debug --enabled
cfa set_mcp_debug --enabled=false
get_mcp_token_stats

Get 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.

example
cfa get_mcp_token_stats
set_breakpoint

Put 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.

ParameterTypeRequiredDescription
blueprint_pathstringYesBlueprint asset, e.g. /Game/Blueprints/BP_Player
graph_namestringNoGraph holding the node; optional when the node id is unambiguous
node_idstringYesNode id from search_nodes or analyze_blueprint_graph
enabledboolNoCreate disabled, or disable an existing breakpoint
example
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=false
remove_breakpoint

Remove 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.

ParameterTypeRequiredDescription
blueprint_pathstringYesBlueprint asset
graph_namestringNoGraph holding the node
node_idstringNoNode to clear; omit with --all
allboolNoRemove every breakpoint in the blueprint
example
cfa remove_breakpoint --blueprint-path /Game/BP_Player --node-id 8F2A...C1
cfa remove_breakpoint --blueprint-path /Game/BP_Player --all
list_breakpoints

List Blueprint breakpoints

Lists breakpoints with their node, graph and enabled state. Omit --blueprint-path to see every loaded blueprint that has one.

ParameterTypeRequiredDescription
blueprint_pathstringNoOnly this blueprint; omit for all
filterstringNoOnly breakpoints whose node title or graph contains this, case insensitive
max_resultsintNoMaximum to return; truncation is always reported
example
cfa list_breakpoints
cfa list_breakpoints --blueprint-path /Game/BP_Player
get_debug_state

Is 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.

ParameterTypeRequiredDescription
detailboolNoAlso report call stack depth
example
cfa get_debug_state
cfa get_debug_state --detail
debug_step

Continue, 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.

ParameterTypeRequiredDescription
actionstringYescontinue, into, over, out or abort
example
cfa debug_step --action continue
cfa debug_step --action over
list_debug_objects

List 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.

ParameterTypeRequiredDescription
blueprint_pathstringYesBlueprint whose instances to list
filterstringNoOnly instances whose label contains this, case insensitive
max_resultsintNoMaximum to return
example
cfa list_debug_objects --blueprint-path /Game/BP_Player
set_debug_object

Choose 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.

ParameterTypeRequiredDescription
blueprint_pathstringYesBlueprint to set the debugged instance on
instancestringNoLabel from list_debug_objects, or a full object path
clearboolNoDeselect so values come from whichever instance next executes
example
cfa set_debug_object --blueprint-path /Game/BP_Player --instance "BP_Player_C_0 (Server)"
cfa set_debug_object --blueprint-path /Game/BP_Player --clear
inspect_debug_value

Read 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.

ParameterTypeRequiredDescription
blueprint_pathstringNoBlueprint to read from; defaults to the one currently halted
pathstringNoDotted or indexed path to one value; omit to list members
filterstringNoOnly members whose name contains this, case insensitive
depthintNoLevels to expand
max_resultsintNoMaximum members per level
example
cfa inspect_debug_value --blueprint-path /Game/BP_Player --filter health
cfa inspect_debug_value --blueprint-path /Game/BP_Player --path Inventory.Items[0].Count
get_call_stack

The 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.

ParameterTypeRequiredDescription
max_resultsintNoMaximum frames to return
example
cfa get_call_stack
get_execution_trace

Which 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.

ParameterTypeRequiredDescription
blueprint_pathstringNoOnly samples from this blueprint
max_resultsintNoMaximum samples to return
example
cfa get_execution_trace
cfa get_execution_trace --blueprint-path /Game/BP_Player --max-results 20
set_pin_watch

Watch 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.

ParameterTypeRequiredDescription
blueprint_pathstringYesBlueprint holding the pin
graph_namestringNoGraph holding the node
node_idstringYesNode holding the pin
pin_namestringYesPin to watch, e.g. ReturnValue
removeboolNoRemove the watch instead of adding it
example
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 --remove
list_pin_watches

List 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.

ParameterTypeRequiredDescription
blueprint_pathstringNoOnly this blueprint; omit for all
valuesboolNoAlso read each current value
max_resultsintNoMaximum watches to return
example
cfa list_pin_watches
cfa list_pin_watches --blueprint-path /Game/BP_Player --values
set_bt_breakpoint

Pause 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.

ParameterTypeRequiredDescription
behavior_tree_pathstringYesBehavior Tree asset, e.g. /Game/AI/BT_Enemy
node_idstringYesNode id from get_behavior_tree or search_bt_nodes
enabledboolNoCreate disabled, or disable an existing one
example
cfa set_bt_breakpoint --behavior-tree-path /Game/AI/BT_Enemy --node-id 4C1B...9A
remove_bt_breakpoint

Remove a Behavior Tree breakpoint

Removes one Behavior Tree breakpoint, or every one in the tree with --all.

ParameterTypeRequiredDescription
behavior_tree_pathstringYesBehavior Tree asset
node_idstringNoNode to clear; omit with --all
allboolNoRemove every breakpoint in the tree
example
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 --all
list_bt_breakpoints

List armed Behavior Tree breakpoints

Lists armed Behavior Tree breakpoints with their node and execution index.

ParameterTypeRequiredDescription
behavior_tree_pathstringNoOnly this tree; omit for all
max_resultsintNoMaximum to return
example
cfa list_bt_breakpoints
cfa list_bt_breakpoints --behavior-tree-path /Game/AI/BT_Enemy