Skip to content
ClaudeUnreal
GitHub

Discovery flow

This content is not available in your language yet.

The hybrid surface keeps session-start context small by NOT loading every command’s full schema upfront. When you (or Claude) need a command outside the 13 hot-path actions, you discover it in two cheap steps and then execute it. The whole flow costs ~3.5K tokens for one new command — vs ~50K tokens to eager-load all 370 schemas.

Walkthrough — “set the camera focal length to 50mm”

Section titled “Walkthrough — “set the camera focal length to 50mm””
unreal_search("focal length camera")

Returns ranked candidates:

{
"results": [
{
"command": "set_camera_focal_length",
"category": "camera",
"summary": "Set the focal length of a CineCameraActor (instant or keyframed).",
"params_brief": "camera_name: str, mm: float, sequence_path?: str, at_time?: float"
},
{
"command": "set_camera_aperture",
"category": "camera",
"summary": "Set the aperture of a CineCameraActor (instant or keyframed).",
"params_brief": "camera_name: str, fstop: float, ..."
}
],
"total_matches": 3,
"hint": "Use unreal_doc(<command>) for full reference, then `cu exec ...`"
}

Pick the candidate, read the full reference:

unreal_doc("set_camera_focal_length")

Returns description, all params (with types and required-ness), a runnable cu exec example, and related commands in the same category.

Now run it:

Terminal window
cu exec set_camera_focal_length \
--params-json '{"camera_name":"Cam01","mm":50.0}'

That’s the whole flow. Subsequent calls in the same session don’t repeat search/doc — once Claude has seen the command, it’s in conversation memory.

cu help <command> returns the same content as unreal_doc(<command>). Pick whichever is more ergonomic — the agent can stay in MCP, or switch to Bash. Both produce the same answer.

StepMCPBash / cu
Find candidatesunreal_search(query)cu search <query>
Read detailsunreal_doc(command)cu help <command>
Execute(typed MCP for hot-path)cu exec <command> ...
  • unreal_categories first when you have keywords. Categories are useful when browsing (“what’s in Niagara?”), not when searching for an action. Search beats browsing on relevance.
  • Skipping unreal_doc and guessing params. The params_brief from search is intentionally minimal. Real defaults, anti-patterns, and example values are in the doc — read them.
  • Running cu exec for hot-path tools. Hot-path actions (spawn_actor, set_actor_transform, etc.) are typed MCP tools — call them directly through your AI client’s tool interface; the typed schema guides param construction better than free-form JSON.