Unreal Engine MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| UE_HOST | No | Unreal Engine host address | 127.0.0.1 |
| UE_TIMEOUT | No | Request timeout (ms) | 5000 |
| UE_VERBOSE | No | Enable verbose logging | false |
| UE_WS_PORT | No | Remote Control WebSocket port | 30020 |
| UE_HTTP_PORT | No | Remote Control HTTP port | 30010 |
| UE_MOCK_MODE | No | Enable mock mode | false |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| ue_pingA | Test connectivity to Unreal Engine. Returns success if the Remote Control API is reachable. |
| ue_get_api_infoA | Get information about all available Remote Control API routes. Useful for understanding what endpoints are available. |
| ue_call_functionA | Call a Blueprint-callable function on a UObject. This can invoke any function exposed to Blueprints, including actor methods, engine utilities, and custom Blueprint functions. Use ue_describe_object first to see available functions on an object. |
| ue_get_propertyA | Read a property value from a UObject. Can read any public property that doesn't have a BlueprintGetter defined. For properties with getters, use ue_call_function instead. Use ue_describe_object to see available properties on an object. |
| ue_set_propertyA | Write a property value on a UObject. Can write any public property that isn't read-only and doesn't have a BlueprintSetter. For properties with setters, use ue_call_function with the setter function instead. Use ue_describe_object to see available properties and their types. |
| ue_describe_objectA | Get detailed metadata about a UObject, including all accessible properties and Blueprint-callable functions. Use this to discover what operations are available on an object before calling ue_call_function, ue_get_property, or ue_set_property. |
| ue_get_all_actorsA | Get a list of all actors in the current level. Optionally filter by class name to get only specific actor types. Returns actor paths that can be used with other tools like ue_get_property or ue_call_function. |
| ue_get_selected_actorsA | Get the list of currently selected actors in the Unreal Editor. Useful for performing operations on user-selected objects. Returns actor paths that can be used with other tools. |
| ue_spawn_actorA | Spawn a new actor in the current level at the specified location. Supports any actor class including built-in types (StaticMeshActor, PointLight, etc.) and custom Blueprint actors. Returns the path to the newly created actor. |
| ue_destroy_actorA | Destroy (delete) an actor from the current level. This action is irreversible (unless you undo in the editor). Use ue_get_all_actors to find actor paths. |
| ue_transform_actorA | Set the transform (location, rotation, and/or scale) of an actor. You can provide any combination of location, rotation, and scale - only the provided components will be changed. |
| ue_select_actorsA | Select actors in the Unreal Editor. By default, replaces the current selection. Set addToSelection=true to add to the existing selection instead. |
| ue_batch_executeA | Execute multiple operations in a single batch request. More efficient than calling individual tools when you need to perform many operations. Supports function calls, property reads, and property writes. Maximum 100 operations per batch. |
| ue_search_assetsA | Search the project's asset registry for assets by name, path, or class. Returns asset paths that can be used with other tools. Useful for finding meshes, materials, blueprints, textures, etc. |
| ue_get_asset_dataA | Get detailed metadata about an asset including its class, size, and references. Use ue_search_assets to find asset paths first. |
| ue_get_current_levelA | Get information about the currently open level in the editor, including its name, path, and world settings. |
| ue_open_levelA | Open a level in the Unreal Editor. This will close the current level. Use ue_search_assets with classFilter='World' to find available levels. |
| ue_save_levelA | Save the current level. This saves all changes made to the level. |
| ue_save_allA | Save all modified assets and levels. Equivalent to Ctrl+Shift+S in the editor. |
| ue_play_in_editorA | Control Play In Editor (PIE) mode. Start, stop, pause, or resume game preview. Useful for testing gameplay changes. |
| ue_execute_console_commandA | Execute a console command in Unreal Engine. Supports any command available in the editor console (~). Common commands: 'stat fps', 'stat unit', 'show collision', 'viewmode wireframe' |
| ue_focus_viewportA | Move the editor viewport to focus on a specific actor or location. Useful for navigating to objects in large levels. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| spawn-actors-grid | Create a grid of actors at specified positions |
| batch-property-edit | Edit a property on multiple actors at once |
| debug-actor | Get comprehensive debug information about an actor |
| setup-level | Set up a new level with common elements |
| explore-blueprint | Explore a Blueprint's properties and functions |
| use-preset | Work with a Remote Control Preset |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| unreal://api/schema | |
| unreal://level/actors | |
| unreal://editor/state | |
| unreal://presets |
TDQS
Scored across 22 tools
Most tools have clearly distinct purposes (property reading/writing, function calling, actor management, level operations, asset search). The only slight overlap is between ue_ping and ue_get_api_info, both providing connectivity/info, but their descriptions make the difference clear.
All tool names follow a consistent ue_verb_noun pattern (e.g., ue_get_property, ue_spawn_actor, ue_open_level). The naming is uniform, lowercase, and snake_case, with no mixed conventions or ambiguous verbs.
22 tools is slightly above the typical 15-tool threshold, but the breadth is justified by the wide scope of Unreal Engine automation. The count feels appropriate for editor control, object inspection, asset handling, and level management without being bloated.
Core workflows are covered: inspecting objects, reading/writing properties, calling functions, managing actors (list, select, spawn, destroy, transform), level operations (open, save, current, save all), asset search/metadata, and editor utilities (console, PIE). Minor gaps exist, such as no explicit undo/redo or asset creation, but the surface is well-rounded for typical automation.