Discovery flow
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””Step 1 — unreal_search
Section titled “Step 1 — unreal_search”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 ...`"}Step 2 — unreal_doc
Section titled “Step 2 — unreal_doc”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.
Step 3 — cu exec
Section titled “Step 3 — cu exec”Now run it:
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.
Equivalent paths
Section titled “Equivalent paths”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.
| Step | MCP | Bash / cu |
|---|---|---|
| Find candidates | unreal_search(query) | cu search <query> |
| Read details | unreal_doc(command) | cu help <command> |
| Execute | (typed MCP for hot-path) | cu exec <command> ... |
Anti-patterns
Section titled “Anti-patterns”unreal_categoriesfirst 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_docand guessing params. Theparams_brieffrom search is intentionally minimal. Real defaults, anti-patterns, and example values are in the doc — read them. - Running
cu execfor 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.