Native UE editor tab (SMCPWizard) so setup happens inside Unreal, not just the
Node CLI. Three sections:
- Remote Control: live status of the :30010 bridge + a button to start it
(WebControl.StartServer + EnableServerOnStartup).
- API keys: paste/save the agent-gateway Anthropic token (auth.env) and
ElevenLabs key (integrations.json) — both git-ignored.
- MCP tools: lists the catalogue from tools.json.
Wiring:
- UEBlueprintMCPEditor module registers a nomad tab + a Tools-menu entry.
- Build.cs gains the Projects module (IPluginManager).
- server.js exports TOOLS and only launches the stdio server when run directly
(isMain), so src/dumpTools.mjs can generate tools.json. `npm run dump-tools`.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
New users hit predictable friction (no npm install, Remote Control / Python
plugin not enabled, C++ not built). This makes onboarding self-service:
- src/doctor.js — shared diagnostics (project & engine detection, Node deps,
Remote Control reachability, Python plugin, C++ module built, optional Voxel).
Zero-dependency top-level imports so it runs before `npm install`. Runnable as
`npm run doctor`, reused by the wizard and the server first-run hook.
- src/setup.js — interactive `npm run setup` wizard: offers to install deps,
confirms/pins project & engine (and RC URL) overrides, re-checks the editor
until reachable, then prints the MCP-client config snippet.
- projectPaths.js — persisted config (mcp.config.json, git-ignored) with
precedence env > config > auto-detect; remoteControlUrl(); first-run marker
helpers (isFirstRun/markRun under Saved/).
- server.js — `doctor` MCP tool (so a client/assistant can run the checks in a
session) + a one-time first-run diagnostic printed to stderr pointing at
`npm run setup`.
- ueBridge.js honors the config-driven Remote Control URL.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Merge of the two project copies into one self-contained plugin (the superset:
variable_op + variables.py, full pcg_op runtime/declarative/preset ops, the
CreateWidgetFloatAnimation widget tool, and full Voxel graph authoring).
Made fully project- and machine-agnostic — no hardcoded paths:
- New src/projectPaths.js auto-detects the host .uproject (walk-up), project
name, Editor build target, log file, and engine install (EngineAssociation
via launcher manifest/registry, else installed-engine scan). All overridable
via UE_* env vars.
- Rewired buildOrchestrator/insights/launcher/insightsExporter/server.js and the
Python workers (cpp_scaffold, live_coding, apply_graph, console) off the old
C:/Github/ihy, IHY*, E:/UE_Versions and UE_5.7 literals onto the resolver.
- Voxel made optional: Build.cs auto-detects the Voxel plugin (env
UE_MCP_WITH_VOXEL override) and the C++ compiles to stubs under WITH_MCP_VOXEL,
so the module builds in projects without Voxel; .uplugin marks Voxel optional.
- De-branded the agent-gateway and docs; scrubbed a leaked API key; excluded
node_modules/Binaries/Intermediate/__pycache__/secrets from the repo.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>