This feature is in an Experimental state so you can try it out, provide feedback, and see what we are planning. You cannot publish a project that uses Virtual Pointer at this time. Please keep in mind that we do not guarantee backward compatibility for assets created at the experimental stage. The APIs for these features are subject to change, and we may remove entire Experimental features or specific functionality at our discretion.
UEFN MCP embeds an MCP server inside the Unreal Editor for Fortnite process for any MCP-compatible AI agent such as Claude Code, Cursor, or the MCP Inspector can drive the editor over a local HTTP connection.
It exposes the following functionality specific to UEFN:
Creating and modifying Verse Scene Graph entities
Reading and writing Verse files
Placing Creative devices and editing their properties
Starting, stopping, and inspecting a play session
What is the MCP?
UEFN MCP embeds a Model Context Protocol (MCP) server inside the UEFN editor process. Any MCP-compatible AI agent connects to it over local HTTP and drives the editor through typed tools, grouped into toolsets. It turns the editor into something an agent can inspect and operate reading Verse, editing the scene graph, placing and configuring creative devices, and running a play session.
Once set up with the developer pointing an agent (such as Claude Code) at their running editor, you can start to ask questions or give directions in natural language. Some examples are:
What devices can I place?
Add a log when the round starts and compile it.
Start a session so I can test.
With these types of questions and directions, the agent discovers the available toolsets, calls the tools, and reports back.
UEFN MCP Prerequisites
UEFN MCP requires the following to be set in the project before you can proceed.
Enable Python Editor Scripting for the project.
Configure auto-start for MCP.
Generate a client configuration file.
Start an AI agent from the Fortnite UEFN install directory.
Enable Python and UEFN MCP
In your Project Settings, check the boxes for Python Editor Scripting and UEFN MCP Toolsets.
Both of these must be enabled for UEFN MCP to function.
Configuring MCP Auto-Start
To configure the MCP auto start:
Open Edit > Editor Preferences.
Under the General group, select Model Context Protocol.
This exposes the Auto Start Server setting that when enabled starts the MCP server automatically every time the editor launches, binding the MCP server to http://127.0.0.1:8000/mcp.
This same panel also exposes the listening port (default 8000) and the URL path (default /mcp) for environments where those defaults conflict with another local service. The server's name advertised in ServerInfo.name is always unreal-mcp.
If you want to start the server on demand instead, leave Auto Start Server off and enter ModelContentProtocol.StartServer in the editor console.
The command also accepts an optional port: ModelContextProtocol.StartServer:8000.
Create a Client Config
Each AI agent expects its server list in a specific file format and at a specific location in the project tree. It needs to know the location of where UEFN is installed.
For quick access, you can look at the file location of your launcher install to open directly to that folder location.
Once you have the location of where your UEFN installation files are stored (not your project’s files), you’ll create a .mcp.json file.
To create the mcp.jason file:
In your UEFN project's root folder, right-click and create a new Text Document. Name it .mcp.txt.
Open the text document.
Copy and paste the following text into the file. This is the model-specific JSON and needs to be formatted to the specific AI agent you’re using. The example below is Claude’s JSON:
Configmcp.json { "mcpServers": { "unreal-mcp": { "type": "http", "url": "http://127.0.0.1:8000/mcp" } } }Save it as All Files with
.jsonextension at the end -- replacing.txt.
In the process of changing the file extension, if your system OS makes a duplicate of the file keeping one with the original .txt (Text Document) extension, you can delete that file as it’s not needed.
Once you’ve created your configuration for your AI agent, one bit of housekeeping you’ll need to keep in mind when using Codex CLI. The TOML configuration it uses only writes once, meaning the command will not override an existing file. Because of this, a stale config must be removed manually. For the JSON-format config used by Claude Code, Cursor, VS Code, and Gemini, these are merged with any existing entries making it safe to run the command repeatedly.
Connecting an AI Agent
To connect an AI agent to UEFN, launch your preferred AI agent CLI or application from the project, or workspace root where the .mcp.json configuration files were generated. You can reference the output log when generating the config file for that file location.
For specific connection steps and advanced settings, you’ll want to refer to the documentation of your AI client.
Below is an example of what launching Claude from the folder where the .mcp.json file was created:
If you’re having trouble connecting, try the following:
If your AI agent CLI or application does not find Unreal MCP, verify that it was launched from the project, or workspace, root where the configuration files were placed.
Try a different port if the default (
8000) one is used by another service. You can set this in the Editor Preferences with Server Port Number.Ensure that both Python Editor Scripting and UEFN MCP Toolsets are enabled in the Project Settings.
To start and stop the server, you must close and re-open the editor. When in doubt, try restarting the editor.
What Other Features Does Unreal MCP Interact With?
Feature Name | Description |
Toolset Registry | How toolsets are discovered and exposed as MCP tools. |
Verse | The Verse toolset reads, edits, and compiles project Verse source. |
Verse Scene Graph (Entities and Components) | The Entity toolset’s subject. |
Creative Devices | The Device toolset browses the catalog, places devices, and edits any @editable properties. |
Sessions | The Session toolset’s play loop. Note that UEFN plays using Play-in-Client (PIC) and not Play-in-Editor (PIE) like Unreal Engine does. |
Verse File Sandboxing | Confines Verse file operations to the creator’s project. |
Prompting Suggestions for Toolsets
The table below includes some prompts you can use to walk through each feature’s capabilities, while also serving as a way to double-check every toolset is working as intended.
Results can vary by AI agent.
Toolset | Suggested Prompts |
Verse |
|
Verse Scene Graph Entities |
|
Creative Devices |
|
Play Session |
|
Tips for Best Results
Be specific with naming.
When prompting, it’s best to be as specific as possible when asking the agent to do something with an object. For example, asking the agent to change something with “the Timer device” versus “that thing I added” will generate a better result.
Ask agents to list the tools available.
Discovery tools exist for this and help reduce wrong guesses.
Ask for a plan on multi-step requests.
Review the provided plan before having the agent execute on the task. This keeps the agent from assuming incorrectly your intended request.
Keep changes reviewable.
Small edits are simpler to verify than one large set of changes. It can become increasingly difficult to verify these types of changes, or miss something along the way.
Known Issues
This is a list of known issues that are being investigated and may be resolved a future release:
Coordinate system and transform translation from LUF to XYZ format.
Currently, the Python Toolsets use the XYZ format instead of the Left-Up-Forward (LUF) coordinate system. For translation between XYZ to LUF that UEFN uses, it will sometimes work when you request an AI agent to do the conversion, but because the systems work differently with regards to spatial math, potential for errors are multiplied.
Hitching editor
MCP tool calls can cause the editor to hitch and hang. This is being looked into and evaluating ways to make tool calls more efficient in editor.