Architecture
High-level view of how each product is wired. You don’t need this to use Nwiro, but it’s useful if something misbehaves and you want to know where the interesting code lives.
Shared core
At the heart of both products is the same C++ tool dispatcher. It translates abstract tool names (edit_blueprint, set_pin_value, spawn_actor, etc.) into real editor operations via Unreal’s C++ APIs.
- No Python bridge. Tools are pure C++.
- No external subprocess. The dispatcher runs in the UE editor process.
- In-process execution. Tools are fast, transactional where Unreal allows, and show up in the editor’s undo stack.
Nwiro AI Pro
UE5 Editor ── Plugin (Nwiro) ─┬─ Embedded WebView ─ Chat UI
├─ C++ Tool Dispatch ── 209 tools
└─ Cloud API (api.nwiro.ai)
├─ LLM orchestration (Claude / GPT / Gemini / …)
├─ Billing / accounts
└─ Biome Generator pipelineFlow
- You type in the chat panel (WebView).
- Message goes to
api.nwiro.ai. - Backend picks a model and asks the agent to plan.
- Agent emits tool calls; backend streams them down.
- Plugin’s C++ dispatcher executes each call in-process.
- Results stream back up to the agent.
- Agent reacts, possibly emits more tool calls, eventually finishes.
- Final response is rendered in the chat.
What the backend does
- LLM routing (you pick the model; backend sends to the right provider).
- Credit tracking and billing.
- Prompt shaping (system prompt, tool catalog, permissions).
- Biome Generator: a separate pipeline that plans biome layers, matches meshes, and compiles PCG graphs.
What the plugin does
- Hosts the chat WebView.
- Registers 209 tool handlers with the dispatcher.
- Receives tool calls from the backend and executes them.
- Shows permission prompts when destructive tools are requested.
- Pushes progress events back to the WebView for streaming UI.
Nwiro Integration Kit
AI Tool (Claude Code / Codex / Local LLM) ── MCP ── UE5 Editor
↑ activated from Settings └─ C++ Tool Dispatch
→ Integrations panel ── 209 toolsFlow
- You activate an AI tool (Claude Code, Codex, or Local LLM) in Settings → Integrations.
- The Kit launches the tool and points it at
http://127.0.0.1:5353/mcp(MCP server running in the plugin). - The tool queries
tools/listand receives the 209-tool schema. - You chat in the Kit’s panel. Messages go to the tool.
- The tool’s LLM emits tool calls; the Kit receives them over MCP.
- Dispatcher executes each call in-process, same C++ as Pro.
- Results return over MCP to the tool.
- Tool reacts, finishes, renders into the chat panel.
What the Kit does
- Hosts the chat WebView (routing chat to the activated tool).
- Runs an MCP server exposing the 209 tools.
- Downloads supported adapter bundles, installs the Nwiro-managed Codex runtime on Windows, and launches the selected integration.
- Detects supported system-wide installs without modifying user-owned packages.
- Dispatches tool calls received over MCP.
What the Kit does NOT do
- No Nwiro backend. No account, no billing after Fab.
- No Biome Generator. The Pro pipeline lives in the cloud.
- No LLM routing. Whatever AI tool you activate picks its own model.
MCP server (Integration Kit)
The MCP server is standard HTTP-based Model Context Protocol. Nothing proprietary about the wire format; any MCP-compatible client can connect.
- Endpoint:
http://127.0.0.1:5353/mcp(port configurable). - Methods:
tools/list,tools/call,initialize. - Transport: HTTP (request/response). Streaming tool output isn’t currently exposed over MCP; the client polls for completion.
- Auth: none; loopback only, not exposed to the network by default.
If you want to point a non-bundled MCP client (Cursor, Windsurf, VS Code + Copilot, etc.) at the Kit, you can; the same URL works. The bundled “Integrations” are there so most users don’t have to configure their client manually.
Data locations
Pro
- Plugin settings:
<Project>/Saved/Config/Nwiro/. - Auth token: local config, not committed to project.
- Generated PCG graphs:
<Project>/Content/NwiroAssets/{ProjectName}/. - Demo pack cache:
%APPDATA%/Nwiro/compressed/,%APPDATA%/Nwiro/extracted/. - Chat history:
app.nwiro.ai(cloud). Synced across machines when you sign in.
Integration Kit
- Plugin settings:
<Project>/Saved/Config/NwiroIntegrationKit/. - Downloaded adapter bundles:
<Project>/Saved/NwiroIntegrationKit/. - Nwiro-managed Codex runtime:
%LOCALAPPDATA%/Nwiro/IntegrationKit/runtimes/codex-acp/on Windows,~/Library/Application Support/Nwiro/IntegrationKit/runtimes/codex-acp/on macOS. A compatible global official runtime remains user-owned and can be used as the fallback. - Chat history: local per-tool state by default. Turn on Settings → Cloud Sync to mirror chats to your Nwiro account and share them across machines.
Update cadence
- Plugin: Fab handles versioning; check the About tab for the version.
- Pro backend:
api.nwiro.aiis deployed continuously. New models and pipeline fixes land on the backend without a plugin update. - Integration Kit has no backend. Adapter bundles follow their integration-specific download flow. On Windows and macOS, Codex uses one native-owned install action for the plugin’s pinned official runtime; compatible global packages are detected but never updated or removed by the Kit.
Last updated on