Skip to main content
plugin

unreal-engine-skills-for-claude-code — Claude Code plugin for Unreal

Lets Claude drive a running Unreal Editor over MCP: actors, blueprints, materials, Niagara, Sequencer and more.

Install into Claude Code · Plugin marketplace All methods and platforms ↓
/plugin install unreal-engine-skills-for-claude-code@claude-plugins-official
/plugin marketplace add anthropics/claude-plugins-community
/plugin install unreal-engine-skills-for-claude-code@claude-community
/plugin marketplace add anthropics/claude-plugins-official
Open on GitHub

What unreal-engine-skills-for-claude-code does

Two pieces ship in the plugin. The unreal-mcp skill holds the instructions and workflows for driving the editor over MCP. A SessionStart hook injects a short note marking the repo as an Unreal Engine project, so Claude leans on UE conventions (C++/UObject, Slate, UHT) and reaches for that skill. The hook fires on startup, resume and clear.

Before any of it works, enable the ModelContextProtocol and AllToolsets plugins in the editor. Without AllToolsets the server exposes no tools at all. The editor has to be running with the MCP server started — run ModelContextProtocol.StartServer in the console. Default port is 8000, URL path /mcp. There is no static .mcp.json; generate one with ModelContextProtocol.GenerateClientConfig ClaudeCode and re-run it after changing the port or URL.

On Windows you need Git Bash or WSL. The hook is a bash script, and native PowerShell has no bash on PATH. The MCP tools keep working either way; you just lose the project-context note. Weigh the access before installing: ProgrammaticToolset.execute_tool_script runs arbitrary Python inside the editor process, and --dangerously-skip-permissions drops the per-tool approval gate. Save and commit before a long session, because these tools edit live UObject state and can move or delete version-controlled assets in a single call.

What it helps with

  • list every actor in the current level
  • tweak material parameters from the chat
  • build Sequencer logic without clicking through the editor
  • run automation tests inside the editor
  • inspect blueprint and State Tree structure

Example prompts for the agent

  • List all actors in the current level
  • Describe the Niagara toolset through unreal-mcp
  • Generate the MCP client config for Claude

How to install unreal-engine-skills-for-claude-code

Plugin marketplace

/plugin install unreal-engine-skills-for-claude-code@claude-plugins-official
/plugin marketplace add anthropics/claude-plugins-community
/plugin install unreal-engine-skills-for-claude-code@claude-community
/plugin marketplace add anthropics/claude-plugins-official

Step by step, with commands for each platform: Claude Code plugins: marketplaces, installing, and building your own

Questions about unreal-engine-skills-for-claude-code

How do I install unreal-engine-skills-for-claude-code in Claude?

The plugin lives in the official marketplace, which is available automatically when you start Claude. Run /plugin install unreal-engine-skills-for-claude-code@claude-plugins-official. If the official marketplace is missing, add it first with /plugin marketplace add anthropics/claude-plugins-official, then run the install command again.

What does unreal-engine-skills-for-claude-code do?

It connects Claude to a running Unreal Editor over MCP. Through Unreal's ToolsetRegistry you get tools for actors, blueprints, materials, Niagara, Control Rigs, Sequencer, State Trees, widgets, the Gameplay Ability System and automation testing.

What has to be enabled in Unreal Editor first?

The ModelContextProtocol and AllToolsets plugins. Without AllToolsets the server exposes no tools. Then launch the editor and run ModelContextProtocol.StartServer in the console.

Source text

SKILL.md · MIT
# Unreal Engine Skills for Claude Code

Control Unreal Editor directly from Claude Code via MCP. Hundreds of tools exposed via Unreal's ToolsetRegistry across 30+ toolsets: actors, blueprints, materials, Niagara, Control Rigs, Sequencer, State Trees, widgets, Gameplay Ability System, automation testing, and more.

## Contents

### Skills

- **`unreal-mcp`** (`skills/unreal-mcp`) - instructions and workflows for driving the Unreal Editor via MCP.

### Hooks

- **SessionStart** (`hooks/unreal-context.sh`) - injects a short note identifying the repo as an Unreal Engine project so Claude defaults to UE conventions (C++/`UObject`, Slate, UHT) and prefers the `unreal-mcp` skill. Runs on `startup`, `resume`, and `clear`.

## Prerequisites

1. **Unreal Editor** with the **ModelContextProtocol** and **AllToolsets** plugins enabled (`AllToolsets` provides the tools; the server exposes none without it)
2. **Editor running to execute tools**, with the MCP server started. Run `ModelContextProtocol.StartServer`, or enable `bAutoStartServer` through `skills/unreal-mcp/references/setup.md`. The optional proxy can keep the client connection open while the editor is stopped.
3. **A bash shell on `PATH`** - required for the `SessionStart` hook (see **Platform Support**)

## Platform Support

Supported: **macOS**, **Linux**, and **Windows via Git Bash or WSL**.

The `SessionStart` hook is a bash script (`hooks/unreal-context.sh`) invoked by `hooks/hooks.json` as `bash ${CLAUDE_PLUGIN_ROOT}/hooks/unreal-context.sh`. It requires a working `bash` on `PATH`:

- **macOS / Linux:** works out of the box.
- **Windows:** install **Git for Windows** (provides Git Bash) or run Claude Code under **WSL**. Native PowerShell without one of those does not have `bash` on `PATH`, and the hook will not run. The plugin's MCP tools still work; you just lose the short project-context note the hook injects at session start. There is no separate PowerShell companion script today.

## Installation

This plugin is published in Anthropic's official Claude Code plugin marketplace, `claude-plugins-official`, which is available automatically when you start Claude Code. Browse it at [claude.com/plugins](https://claude.com/plugins) or in the **Discover** tab of the `/plugin` panel.

### Install for a single developer

In Claude Code:

```
/plugin install unreal-engine-skills-for-claude-code@claude-plugins-official
```

If the official marketplace is not present, add it first, then run the install command above:

```
/plugin marketplace add anthropics/claude-plugins-official
```

### Install for a team

Commit this to `.claude/settings.json` in the project that should use the plugin. Anyone who trusts the project folder is prompted to install it automatically:

```json
{
  "enabledPlugins": {
    "unreal-engine-skills-for-claude-code@claude-plugins-official": true
  }
}
```

## Verification

1. Launch Unreal Editor, then run `ModelContextProtocol.StartServer` in the console to start the MCP server.
2. Check the Output Log for MCP server startup messages.
3. In Claude Code, run `/plugin`. The **Installed** tab should list `unreal-engine-skills-for-claude-code` as enabled. This confirms the plugin itself (skills, hooks) is loaded.
4. Run `/mcp`. Check for `unreal-mcp`, or `unreal-mcp-proxy` if you installed the proxy. A connected proxy does not prove that Unreal is reachable.
5. Try: "List all actors in the current level".

## Configuration

The default port is **8000** with URL path `/mcp`. If the port is in use, run `ModelContextProtocol.StartServer <port>` in the console with a different port number.

> **Note:** This plugin does not ship a static `.mcp.json` file. Run `ModelContextProtocol.GenerateClientConfig ClaudeCode` in the editor console to generate it from the current server port and URL; re-run after changing either.

### Optional proxy for editor recovery

If your engine build includes `Engine/Plugins/Experimental/ModelContextProtocol/Extras/Proxy`, you can use its `unreal_mcp_proxy` executable.

The proxy keeps the client-facing MCP session open while Unreal is unavailable and reconnects when Unreal starts again. It stores Unreal's native tool catalog as a temporary fallback. Cached tools do not prove that live calls can succeed. Without a cache, it exposes only `unreal_mcp_status` until the client fetches the recovered catalog.

See [proxy setup](skills/unreal-mcp/references/setup.md#4-optional-install-the-proxy) for platform binaries and installation commands. See [proxy recovery](skills/unreal-mcp/references/operations.md#proxy-recovery) for status, cached catalogs, and connection failures.

**Tool search** is enabled by default: the MCP server exposes three meta-tools (`list_toolsets`, `describe_toolset`, `call_tool`) instead of the full tool catalog, so Claude discovers toolsets on demand, the prompt cache stays warm, and discovered tools are callable on the same turn through `call_tool`. Toggle with the `bEnableToolSearch` setting in `[/Script/ModelContextProtocolEngine.ModelContextProtocolSettings]`; when disabled, every tool is registered upfront (path used by the hash-mapping commandlet). The model-facing usage contract lives in `skills/unreal-mcp/SKILL.md`.

## Security

Installing this plugin gives Claude broad, live access to the running Unreal Editor. Treat that access the same way you would treat running arbitrary code from an assistant, because in practice it is.

**Localhost is not a trust boundary.** The MCP server binds to `localhost:8000` with origin validation. Origin validation protects against a browser tab talking to the server, but any process running as the same user on the same machine can connect. Do not run the MCP server on shared or untrusted machines, and do not expose the port outside the loopback interface.

**`ProgrammaticToolset.execute_tool_script` executes arbitrary Python** inside the editor process. That script has full access to every toolset API, the project on disk, the asset database, and editor-privileged functions. Treat every invocation as a privileged operation that can mutate, move, or delete project content, and expect it to succeed without a second confirmation when approvals are disabled.

**`--dangerously-skip-permissions` removes the per-tool approval gate.** In that mode Claude can drive the editor and run Python through `execute_tool_script` with no further consent. A bad prompt in that mode can reach into the project and modify a large amount of state before you notice. Prefer not to run Claude Code with `--dangerously-skip-permissions` while this plugin is loaded; if you do, keep the blast radius small (narrow prompts, read-heavy tasks, a throwaway sandbox project).

**Source-control hygiene.** MCP tools edit live `UObject` state and can mutate, move, or delete VCS-tracked assets in a single call. Save and commit (or shelve) before any long MCP-driven session so the working copy is recoverable if Claude produces an unexpected result. Review the diff before submitting.

## What's Available

All tools are auto-discovered by Claude Code via MCP. No manual configuration needed. Tools cover the full editor surface across these domains:

- **Actors and Scene** - spawn, transform, inspect, and delete actors; manage components and outliner folders
- **Blueprints** - create, edit graphs, add nodes, connect pins, manage variables, compile
- **Assets and Content** - find, load, save, move, duplicate assets; edit Data Tables, Curve Tables, String Tables
- **Materials** - author material graphs, create and configure material instances
- **Meshes and Textures** - inspect/edit static and skeletal meshes, LODs, collisions, Nanite, sockets, bones
- **Animation** - build Control Rigs, inspect State Trees and Behavior Trees
- **Sequencer** - create and edit Level Sequences, keyframe animation, manage cameras, Control Rig integration, FBX import/export
- **VFX** - author Niagara systems and Dataflow graphs
- **UI** - build UMG widget blueprints, automate Slate UI interaction
- **Gameplay** - manage gameplay tags, inspect GAS state, create Game Feature Plugins, edit physics assets
- **Testing** - discover, run, and inspect C++ automation tests with detailed results
- **Editor** - screenshots, camera control, actor/asset selection, content browser, log inspection
- **Scripting** - batch multiple tool calls into a single Python script execution

© Epic Games · MIT · EpicGames/unreal-engine-skills-for-claude-code-plugin

Similar plugins

Everything for Game dev and 3D: Unity, Unreal, Godot, Blender →

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor