Getting Started

Control Unreal Engine 5 with Claude Code — from install to first AI-driven scene in 15 minutes.


What you need

Requirement Version
Unreal Engine 5 5.4, 5.5, 5.6, or 5.7
UE project type C++ recommended (the manual source install needs it to compile; no C++ authoring required)
Claude Code Latest (install via npm install -g @anthropic/claude-code)
OS Windows 10 / 11 (64-bit)

Step 1 — Install the plugin

From Fab (purchased)

  1. Open Epic Games Launcher → Library → Vault.
  2. Find Webified Bridge and click Install to Engine (or Add to Project for a project-local install).
  3. Restart the Launcher if prompted.

Manual install (zip download)

  1. Unzip the download. You will see a WebifiedBridge/ folder.
  2. Copy it into your project’s Plugins/ folder:
    YourProject/
    Plugins/
    WebifiedBridge/ ← paste here
  3. Right-click your .uproject file → Generate Visual Studio project files.
  4. Build the project in Visual Studio (DevelopmentEditor / Win64).

Step 2 — Enable the plugin in UE5

  1. Open your project in the Unreal Engine editor.
  2. Go to Edit → Plugins.
  3. Search for Webified Bridge.
  4. Check the box to enable it.
  5. Click Restart Now when prompted.

After restart, open Project Settings → Plugins → Webified Bridge to see the settings panel (port, bearer token). The defaults (port 34763, no token) work for local single-developer use.

Verify it started: open the Output Log and look for:

LogWBTransportHTTP: HTTP transport started — POST http://127.0.0.1:34763/wb/mcp

That line confirms the MCP endpoint is listening. If you don’t see it, check that the plugin is enabled and try restarting the editor.

Optional: once verified, open Window → Tools → Webified Bridge to see a live status panel with a green dot, tool count, and recent call log.


Step 3 — Connect Claude to the plugin

The plugin exposes an MCP endpoint at http://127.0.0.1:34763/wb/mcp. How you connect depends on your client.

Which method?

  • Claude Code (CLI or VS Code extension)Method 1 (Direct HTTP) — recommended. No download, no helper process.
  • Claude Desktop app, Google Antigravity, or any other stdio-only MCP clientMethod 2 (WBSidecar bridge).

Method 1 — Direct HTTP (Claude Code CLI & VS Code) ✅ recommended

Claude Code can talk to the plugin’s HTTP endpoint directly. Nothing to download.

As of v1.3.0, setup is automatic. When the Unreal editor starts, Webified Bridge writes a .mcp.json file to your UE project root automatically — Claude Code reads it every time you open that project. No command to run, no file to create. Just open the editor, then start a Claude Code session from your project directory.

How to verify it worked: after the editor starts, check your UE project root for a .mcp.json file. You should also see this line in the Output Log:

[WebifiedBridge] created .mcp.json at <your project root>.mcp.json

On subsequent editor starts it will say updated instead of created (and only if the config actually changed).

If you need to override — the auto-written file uses the default port and no bearer token. If you changed the port or set a bearer token in Project Settings, the plugin reads those values from DefaultEngine.ini and writes the correct config automatically. You can also edit .mcp.json by hand; the plugin merges its entry safely and will not overwrite other servers you have listed.

Bearer token — if you set one in Project Settings → Webified Bridge, the plugin includes it in the auto-written .mcp.json. Add .mcp.json to your .gitignore so the token isn’t committed:

# .gitignore
.mcp.json

Manual fallback (if auto-write fails due to a permissions error, the Output Log will say so and show this command):

claude mcp add --transport http webified-bridge http://127.0.0.1:34763/wb/mcp

Or create .mcp.json in your UE project root by hand:

{
  "mcpServers": {
    "webified-bridge": {
      "type": "http",
      "url": "http://127.0.0.1:34763/wb/mcp"
    }
  }
}

That’s it — no WBSidecar.exe, no Unblock-File, no extra process.

open with the plugin running before Claude Code connects (the endpoint only exists while the editor is up). If the editor is closed, the server simply shows as disconnected — start the editor and reconnect.


Method 2 — WBSidecar bridge (Claude Desktop, Antigravity, other stdio-only clients)

Claude Desktop and some other clients only speak MCP over stdio, and UnrealEditor.exe is a Windows GUI-subsystem process with no stdin/stdout handles. For those clients a small bridge process, WBSidecar.exe, forwards stdio ↔ the plugin’s HTTP endpoint.

Download WBSidecar.exe

WBSidecar is a free, open-source tool distributed separately from the plugin:

Download WBSidecar.exe (33 MB, Windows x64, no .NET runtime needed)

Save it somewhere permanent — for example C:\Tools\WBSidecar.exe or C:\Users\<your-username>\bin\WBSidecar.exe. You will reference this path in the config below.

Unblock the executable. Windows marks downloaded files as untrusted, which silently prevents other applications from launching them. Run this once in PowerShell after downloading:

Unblock-File "C:\Tools\WBSidecar.exe"

Replace the path with wherever you saved it. If you skip this step, the client will appear to read the config correctly but the sidecar will never start.


Claude Desktop app (claude_desktop_config.json)

Use this if you run Claude from the claude.ai desktop application.

Open %APPDATA%\Claude\claude_desktop_config.json — on Windows this is:

C:\Users\<your-username>\AppData\Roaming\Claude\claude_desktop_config.json

Add a mcpServers block at the top level (alongside the existing preferences block):

{
  "mcpServers": {
    "webified-bridge": {
      "command": "C:\\Tools\\WBSidecar.exe",
      "args": ["--port", "34763"]
    }
  },
  "preferences": {
    ...existing preferences unchanged...
  }
}

The desktop app manages its own server list and never reads ~/.claude/.mcp.json. Only this file works here.


Google Antigravity (~/.gemini/config/mcp_config.json)

Use this for Google Antigravity — Google’s Gemini-based agentic IDE. Antigravity speaks MCP and launches the sidecar over stdio.

Open the config in Antigravity via Settings → Customizations → Open MCP Config (or Manage MCP Servers → View raw config) — it edits ~/.gemini/config/mcp_config.json (C:\\Users\\<your-username>\\.gemini\\config\\mcp_config.json on Windows) — and add:

{
  "mcpServers": {
    "webified-bridge": {
      "command": "C:\\Tools\\WBSidecar.exe",
      "args": ["--port", "34763"]
    }
  }
}

Then refresh / restart the MCP panel so Antigravity picks up the server. The bearer-token note below applies here too.

Antigravity also supports remote HTTP MCP servers via a serverUrl key (note: serverUrl, not url). If your Antigravity build accepts it, you can point serverUrl at http://127.0.0.1:34763/wb/mcp and skip the sidecar (the same direct-HTTP path as Method 1); otherwise use the WBSidecar stdio config above.

Running Claude Code but prefer stdio anyway? The sidecar also works with Claude Code — use the same command / args config under ~/.claude/.mcp.json (user-level, every project) or a project-root .mcp.json (that directory only; VS Code reads the workspace-root .mcp.json too). User-level config also needs enabledMcpjsonServers: ["webified-bridge"] and an mcp__webified-bridge__* permission allow in ~/.claude/settings.json. Most Claude Code users should prefer Method 1 instead.


Bearer token (Method 2)

If you set a bearer token in Project Settings, pass it to the sidecar in whichever config you used above:

"args": ["--port", "34763", "--token", "your-token-here"]

Step 4 — Verify the connection

Before opening Claude Code, confirm the plugin endpoint is responding. Run this in PowerShell:

$r = Invoke-RestMethod "http://127.0.0.1:34763/wb/mcp" -Method Post `
     -Body '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"1.0"}}}' `
     -ContentType "application/json"
$r.result.serverInfo

You should see name: webified-bridge (the version field reports a placeholder, not the plugin version — its presence is not what matters). If this fails, the plugin is not running — check Step 2 before continuing.

Now start a fresh Claude Code session. MCP servers are initialised at session start, so always start a new session after editing any of the config files above.

Ask Claude something that calls a tool:

Use the level.list_actors tool to list actors in the level

Claude will call level.list_actors via tools/call and return the results. Check the Window → Tools → Webified Bridge status panel — you should see the call appear under Recent Tool Calls, confirming the full round-trip is working.

CLI only: You can also type /mcp and press Enter to see webified-bridge listed as connected with a tool count of 289.


Step 5 — Try Example 1: Scene Dressing

Now do something real. Open Example 1 — Scene Dressing and follow the walkthrough — it takes 10–15 minutes and covers:

Everything happens through Claude Code. You watch the Unreal editor respond in real time.


Troubleshooting

Output Log shows no LogWBTransportHTTP line

PowerShell pre-flight test fails (connection refused)

Tools never appear even though the editor is open and config looks correct

Work through these in order:

1. Run the pre-flight test (editor must be open). If this does not return name: webified-bridge, the bridge is not running — fix that first (Step 2):

$r = Invoke-RestMethod "http://127.0.0.1:34763/wb/mcp" -Method Post `
     -Body '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"1.0"}}}' `
     -ContentType "application/json"
$r.result.serverInfo

2. Confirm .mcp.json is in your UE project root. As of v1.3.0 the plugin writes this file automatically when the editor starts — check for it at your UE project root and look for [WebifiedBridge] created .mcp.json in the Output Log. Claude Code reads the project-level .mcp.json from the directory where you launch claude; user-level config (~/.claude/.mcp.json) is not reliably picked up across different projects. If the file is missing (e.g. a permissions error blocked the auto-write), create it manually:

{
  "mcpServers": {
    "webified-bridge": {
      "type": "http",
      "url": "http://127.0.0.1:34763/wb/mcp"
    }
  }
}

If you use Claude Code with multiple UE projects, the plugin auto-writes the file into each project root when that project’s editor starts.

3. Start a fresh session. MCP connects once at session start. If the editor was not open or .mcp.json was missing when the session started, the tools will not appear for the rest of that session — even if you fix the config afterwards.

4. Verify with /mcp. In the new session type /mcpwebified-bridge should show as connected with 289 tools.

claude mcp list shows webified-bridge “failed” (Method 1 — Direct HTTP)

Server shows “connecting” but tools never appear

Claude reads resources but shows no tools / “level.list_actors not found”

The MCP protocol has two surfaces: resources (readable data like wb://level/actors) and tools (callable actions like level.list_actors). If Claude can read resources but can’t find tools, the tools/list handshake failed silently.

“webified-bridge: disconnected” in /mcp (CLI)

Bearer token errors (HTTP 401)

Beyond the basics

With 289 tools you can go a lot further than scene dressing:


What’s next

Example Focus
Example 1 — Scene Dressing Spawn actors, light them, frame and screenshot
Example 2 — Asset Pipeline Audit Scan content, audit assets, approval flow
Example 3 — PIE Test Automation Smoke tests, stat capture, pre-commit gates

Full tool reference and recipe catalog: see docs/04-mcp-design.md and docs/05-command-surface.md.