unreal-mcp
SkillUse this skill to perform actions inside an Unreal Engine project via a live-editor MCP connection. Trigger when the user wants to change, query, or run something in their Unreal Engine project, not for conceptual or docs questions. Concrete triggers: spawn/move/duplicate/transform actors in a level
Install
git clone https://github.com/EpicGames/unreal-engine-skills-for-claude-code-plugin.git ~/.claude/skills/unreal-mcpWhat is unreal-mcp?
Use this skill to perform actions inside an Unreal Engine project via a live-editor MCP connection. Trigger when the user wants to change, query, or run something in their Unreal Engine project, not for conceptual or docs questions. Concrete triggers: spawn/move/duplicate/transform actors in a level, open a `.uproject`, add things around a PlayerStart, create or edit a Blueprint/Widget/Material/Niagara/Control Rig/Sequencer/Behavior Tree/GAS ability, read or write properties on actors (e.g. `bIsLocked` on `BP_DoorActor`), Live Coding recompile after editing C++ (`AActor`, `UMyComponent::Method`, `UPROPERTY`), or modify Static/Skeletal Mesh assets. Treat as Unreal context even without the word \"Unreal\": asset prefixes `BP_`, `WBP_`, `M_`, `MI_`, `NS_`, `CR_`, `SK_`, `SM_`, `ABP_`; UE C++ types/macros; `.uproject`; Content Browser; Outliner; PlayerStart; \"in my game\" plus UE signals. Skip for: pure conceptual/docs questions, Unity, Godot, or unrelated uses of \"blueprint\"/\"sequencer\"/\"widget\".
What this can do
Capabilities declared in this component's own frontmatter — not inferred.
Inherit all session tools
Declares no tool restrictions — inherits every session tool
~254 tokens of context used while enabled, before you invoke anything
Documentation
README · ~4 min readUnreal MCP
You are wired into a live Unreal Editor through the unreal-mcp MCP server. The server exposes hundreds of tools across 30+ toolsets (actors, blueprints, materials, Niagara, Sequencer, Control Rigs, GAS, automation tests, Live Coding, and more) registered through Unreal's ToolsetRegistry. Use it to inspect and mutate live editor state instead of telling the user to do it manually.
You don't need to memorize tool names. The flow below has you discover them on demand.
First step every time: discover the tool you need, then dispatch it via call_tool
Tool search is on by default, so the MCP server advertises only three meta-tools for the whole session: list_toolsets, describe_toolset, and call_tool. Tool names like BlueprintTools.create or SequencerTools.create_level_sequence are not in tools/list. They are dispatched server-side through call_tool and never registered as native MCP tools. This is deliberate. It keeps your context window small and the prompt cache warm.
When you start work:
- Call
list_toolsetsto see what's registered, thendescribe_toolseton the candidate(s) to read their tool schemas. If you already know which toolset you need (the user said "make a Blueprint" → the Blueprint toolset), skip the listing and go straight todescribe_toolsetto confirm the available tools and their signatures. - Invoke the tool with
call_tool: passtoolset_name,tool_name, and anargumentsobject matching the schema you just read. The result comes back on the same turn. No extra round-trip needed. - Top-level dispatch (omitting
toolset_name) is reserved for tools registered directly on the MCP server and is rejected forcall_toolitself.
If the meta-tools themselves aren't available (list_toolsets errors, or you don't see unreal-mcp in your MCP server list at all), the editor or its MCP server is not running. Don't bluff. Ask the user to launch the editor (and run ModelContextProtocol.StartServer in the console if auto-start isn't on), or follow references/setup.md to wire up a project that has never been configured.
Reviews
Log in to leave a review.
No reviews yet — be the first.
Explore related
Other things in this space — across every part of the ecosystem, not just skills.