unreal-engine-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| UE_ENGINE_PATH | Yes | Path to the Unreal Engine installation directory | |
| UE_PROJECT_PATH | Yes | Path to the Unreal project file (.uproject) | |
| UE_MCP_ALLOW_WRITE | No | Set to 'false' to enable read-only mode (mutating tools disabled) |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| editor_stateA | Return engine/project/level info and the live actor count. Call this first to confirm the Remote Control connection is working. |
| run_console_commandA | Execute an Unreal console command in the running editor. Examples: 'stat fps', 'r.ScreenPercentage 50', 'ShowFlag.Bounds 1', 'Slomo 0.5', 'BuildPaths'. Anything you could type into the in-editor console works here. |
| save_allA | Save all dirty levels and content under /Game. |
| list_actorsB | List actors in the current level.
|
| get_actorA | Get details (class, transform, path) for one actor by label or name. |
| spawn_actorB | Spawn an actor from a class.
|
| spawn_static_meshB | Spawn a StaticMeshActor using a static mesh asset.
|
| set_actor_transformC | Move/rotate/scale an actor. Only the provided components change. |
| set_actor_propertyB | Set an editor property on an actor (e.g. 'mobility', 'hidden', a
light's 'intensity'). |
| destroy_actorB | Delete an actor from the level by label or name. |
| list_assetsB | List asset object paths under a content path.
|
| asset_existsB | Check whether an asset exists at the given object path. |
| asset_infoB | Return class/package info for an asset. |
| import_assetA | Import an external file (FBX/OBJ/glTF, PNG/EXR, WAV, …) into /Game.
|
| duplicate_assetC | Duplicate an asset to a new object path. |
| rename_assetB | Rename/move an asset to a new object path. |
| save_assetC | Save a single asset to disk. |
| delete_assetA | Delete an asset. Destructive — fails if other assets still reference it. |
| new_levelA | Create a new empty level asset at a content path (e.g. '/Game/Maps/Test'). |
| load_levelA | Open a level by content path, replacing the currently open level. |
| save_current_levelB | Save the currently open level. |
| create_materialA | Create a new empty Material asset.
|
| create_blueprintA | Create a Blueprint asset deriving from
|
| compile_blueprintD | Compile a Blueprint asset by object path. |
| take_screenshotB | Capture a high-resolution screenshot of the active editor viewport.
|
| build_lightingA | Build static lighting for the current level via console.
|
| execute_pythonA | Run Python inside the running Unreal Editor. With The |
| search_unreal_classesA | Search names in the live e.g. 'Niagara', 'Landscape', 'Sequencer', 'PCG', 'AbilitySystem',
'Spline', 'Foliage', 'Chaos'. Use this to discover what's available
(including from enabled plugins) before writing |
| introspect_unreal_classA | List methods and properties of an e.g. 'EditorActorSubsystem', 'NiagaraSystem', 'LandscapeProxy', 'MovieSceneSequence', 'StaticMeshEditorSubsystem'. |
| run_automation_testsA | Run Automation Framework tests headlessly.
|
| run_python_fileB | Execute a .py file headlessly via -ExecutePythonScript. Useful for long batch jobs that shouldn't tie up the interactive editor. |
| cook_contentC | Cook project content for a target platform (Windows, Linux, Mac, Android…). |
| rc_get_propertyA | Read a UObject property directly via Remote Control (no Python bridge).
|
| rc_set_propertyB | Write a UObject property directly via Remote Control (transacted/undoable). |
| rc_call_functionC | Call a UFunction on a UObject directly via Remote Control. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/elemenopyunome/unreal-engine-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server