Client guide · VS Code

Drive Unreal from VS Code Copilot agent mode

VS Code reads MCP servers from .vscode/mcp.json. Point it at the plugin's native HTTP endpoint, let VS Code prompt for the capability token once, and GitHub Copilot's agent mode can work in your running Unreal Editor.

Updated Covers EngineWire 0.6 beta (npm @beta)

Before you start

You need the McpAutomationBridge plugin installed and built in your project (status bar shows MCP off), and VS Code with GitHub Copilot's agent mode, which is where VS Code uses MCP tools. If the plugin isn't in yet, follow the quick start first.

Many Unreal C++ developers already use VS Code as their editor. Connecting EngineWire means the agent working on your source can also reach the assets that only exist inside the editor.

  1. In Unreal, open Edit › Project Settings › Plugins › MCP Automation Bridge › Native MCP, tick Enable Native MCP Server, and restart the editor. The status bar reads MCP :3000 (0).

  2. Create .vscode/mcp.json in your workspace. The inputs block makes VS Code ask for the token once and store it, instead of keeping it in the file:

json · .vscode/mcp.json
{
  "inputs": [
    {
      "type": "promptString",
      "id": "unreal-mcp-token",
      "description": "Unreal MCP capability token (Saved/MCP/capability-token)",
      "password": true
    }
  ],
  "servers": {
    "unreal-engine": {
      "type": "http",
      "url": "http://127.0.0.1:3000/mcp",
      "headers": {
        "X-MCP-Capability-Token": "${input:unreal-mcp-token}"
      }
    }
  }
}
  1. Start the server from VS Code and paste the contents of <YourProject>/Saved/MCP/capability-token when prompted. It is 64 hexadecimal characters.

  2. Open Copilot Chat in agent mode. The server contributes one tool, unreal, and the Unreal status bar count goes up to MCP :3000 (1).

Because the token is collected through inputs, this file is safe to commit and share with your team: each person enters their own project's token.

stdio setup

If you would rather let a local process find the token, VS Code can launch the Node.js server (Node.js 20.19 or later). VS Code uses "servers" instead of "mcpServers" and needs "type": "stdio":

json · .vscode/mcp.json (stdio)
{
  "servers": {
    "unreal-engine": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "unreal-engine-mcp-server@beta"],
      "env": {
        "UE_PROJECT_PATH": "C:/Path/To/MyGame"
      }
    }
  }
}

On Windows, if VS Code can't find npx, use "command": "cmd" with "args": ["/c", "npx", "-y", "unreal-engine-mcp-server@beta"]. Keep @beta: the plain package name installs 0.5.30, which doesn't match a 0.6 plugin.

What Copilot can do in the editor

Through the one unreal tool the agent searches nearly 400 capabilities. The areas the project documents:

AreaExamples
Levels and actorsSpawn one actor or hundreds in a call, place and attach them, load, stream and save levels
Blueprints and UICreate Blueprints, variables and components, build event graphs in one batch, lay out UMG widgets with a preview image
Materials and worldsMaterial graphs and instances, lighting, landscapes, foliage, Niagara, PCG graphs
GameplayCharacters and animation, Gameplay Ability System, Behavior Trees, State Trees, EQS, Enhanced Input
Cinematics and audioLevel Sequences, Movie Render Queue, Take Recorder, Sound Cues, MetaSounds
Play and verifyPlay-In-Editor with synthetic input, screenshots the model can see, logs, profiling, packaging

The full list is the generated Action Reference.

Approvals and safety

Use VS Code's tool confirmation for the unreal tool while you get used to it, so you approve each editor change. Independently of VS Code, the plugin refuses any request without the project token, requires a per-call consent grant for deletes and some other writes, blocks console commands that chain or quit the editor, and keeps asset paths under /Game, /Engine, /Script, /Temp and /Niagara plus prefixes you add. Details: security model.

FAQ

Do I need the Node.js server for VS Code?

No. VS Code supports HTTP MCP servers with headers, so the native route works without Node.js.

VS Code gets HTTP 400 from the server.

The client asked for an MCP protocol version the native server doesn't support. The native route supports 2025-11-25, 2025-06-18 and 2025-03-26. Update VS Code, or use the stdio route.

Can Copilot and Claude Code share the editor?

Yes. The native server serves up to 16 sessions at once.

Where do I see what the agent did?

In Unreal's Output Log, filtered by LogMcpNativeTransport: each call is logged with the internal tool and action it was routed to.