Skip to content
ClaudeUnreal
GitHub

The cu CLI

This content is not available in your language yet.

cu is the Bash entry point for Unreal commands. Where the typed MCP surface exposes the 13 hot-path actions (spawn / move / inspect / screenshot / etc.), cu covers the ~362 long-tail commands across Blueprint nodes, UMG, Niagara, Sequencer, materials, foliage, and the rest.

Both halves share the same TCP bridge (127.0.0.1:55557) and the same JSON protocol. From an agent’s perspective: typed MCP is “things I always know how to do”; cu is “things I look up when needed”.

Eager-loading 370 MCP tools at session start cost ~144K tokens of schema in clients that don’t support deferred loading — burning ~72% of an Opus 4.7 context window before the user types. The hybrid split keeps session-start context to ~7K tokens while preserving every UE5 capability behind a one-step search-and-execute lookup. See the Architecture concept page for the full picture.

The CLI ships inside the plugin at <plugin>/Resources/MCP/cli/cu.py. On plugin startup, FClaudeUnrealModule::ConfigureCu writes a wrapper at <ProjectDir>/.claude/cu and adds Bash(cu *) to .claude/settings.local.json — so Claude Code can invoke it without a permission prompt.

Terminal window
# Probe the bridge
cu ping
# Browse 5 tools in a category (no TCP — local manifest read)
cu list --category camera --limit 5
# Get the full reference for one command (no TCP)
cu help spawn_actor
# Run a command
cu exec spawn_actor --name MyCube --type StaticMeshActor --location 0,0,100
CodeMeaning
0Success
1Bridge returned an error (handler failed)
2Connection error (editor not running, port blocked)
3CLI usage error (unknown command, missing required param)