Skip to main content
Glama

Unreal Engine 5 MCP Bridge

๐Ÿ“– Project Overview

This project is a lightweight, high-performance server application based on the Model Context Protocol (MCP). It serves as an ultimate bridge between Large Language Models (like Claude) and Unreal Engine 5 (UE5).

By integrating directly with UE5's native Web Remote Control interface, this project empowers AI to interact directly with the underlying Unreal Engine. AI can not only query and modify assets within the engine but also dynamically inject C++ code, compile core modules, and manipulate all elements within the scene with high-level privileges.

Related MCP server: Unreal Engine MCP Server

โœจ Core Features

  • ๐Ÿ”Œ Real-time Bidirectional Remote Control: Deep integration with UE5 Web Remote Control via HTTP/JSON protocols, enabling zero-latency instruction execution.

  • ๐Ÿงฑ C++ Blueprint Code Injection & Compilation: Supports AI in writing native C++ Actors and Blueprint Function Libraries in the background, and triggering cross-process Live Coding compilation with a single command.

  • ๐ŸŽฎ Automated Scene & Viewport Management: Includes a suite of advanced tools, such as:

    • ue5_spawn_actors_batch: High-performance batch generation and alignment of objects (e.g., spawning circles or array matrices).

    • ue5_pilot_actor: Takes over the editor camera, enabling AI-level automated cinematic movements and scene touring.

    • ue5_build_lighting: Automated scene lighting builds.

  • ๐ŸŽจ Automated Asset Assembly: Supports dynamic retrieval of materials and automatic assignment to scene meshes, enabling one-click material swapping and beautiful level generation.

๐Ÿš€ Quick Start

  1. Ensure the Web Remote Control plugin is enabled in Unreal Engine, and start the server (default port: 30010).

  2. Run npm install in the root directory of this project to install dependencies.

  3. Run npm run build to build the project.

  4. Connect to UE5 by mounting this project in your MCP client configuration.

๐Ÿ›  Tech Stack

  • Node.js / TypeScript: MCP Server Core Logic

  • Model Context Protocol SDK: Official Communication Standard

  • Unreal Engine 5 Web Remote Control: Unreal Engine Native Open API


Generated with AI assistance. Bridging the gap between Language Models and Game Engines.

Available Tools

20 tools
ue5_build_lightingA

Builds light maps and reflection captures for the level. NOTE: This may take a long time and block the editor.

Inputs: no named parameters.

ue5_call_functionB

Calls a UFUNCTION on a UObject via the Web Remote Control API. IMPORTANT: Some functions on component sub-objects (e.g., LightComponent, RootComponent) are marked 'unavailable remotely'. Use actor-level functions like SetActorScale3D, SetActorTransform instead.

Inputs: objectPath (required), functionName (required), parameters, generateTransaction.

ue5_delete_assetC

Deletes an asset from the Content Browser.

Inputs: assetPath (required).

ue5_destroy_actorB

Removes an actor from the current level by its object path.

Inputs: actorPath (required).

ue5_duplicate_assetC

Duplicates an asset in the Content Browser.

Inputs: sourceAssetPath (required), destinationAssetPath (required).

ue5_eject_pilotA

Ejects the currently piloted actor in the editor viewport.

Inputs: no named parameters.

ue5_execute_console_commandA

Executes an Unreal Engine console command in the editor. NOTE: UE5 does not return success/failure for console commands โ€” the response will be empty even if the command is invalid.

Inputs: command (required).

ue5_get_all_level_actorsA

Gets all actors currently in the active editor level. Returns an array of actor object paths.

Inputs: no named parameters.

ue5_get_propertyA

Gets the value of a UPROPERTY on a UObject. NOTE: Component properties (e.g., RootComponent, LightComponent) are often unavailable remotely. Use ue5_call_function with getter functions instead.

Inputs: objectPath (required), propertyName (required).

ue5_list_assetsA

Lists assets in a Content Browser directory. Use '/Game' for project assets, '/Engine' for engine assets.

Inputs: directoryPath (required), recursive.

ue5_new_levelB

Creates and opens a new empty level at the given asset path.

Inputs: assetPath (required).

ue5_pilot_actorA

Pilots an actor in the active editor viewport. Useful for seeing through a CameraActor.

Inputs: actorPath (required).

ue5_pingA

Checks whether the UE5 editor is reachable via the Web Remote Control API. Call this first to verify the connection before attempting other operations.

Inputs: no named parameters.

ue5_rename_assetC

Renames an asset in the Content Browser.

Inputs: sourceAssetPath (required), destinationAssetPath (required).

ue5_save_assetC

Saves a specific asset.

Inputs: assetPath (required).

ue5_save_levelB

Saves the currently open level.

Inputs: no named parameters.

ue5_set_materialA

Applies a material to a StaticMeshComponent on an actor. The component is accessed as '.StaticMeshComponent0'.

Inputs: actorPath (required), materialPath (required), elementIndex.

ue5_set_propertyA

Sets the value of a UPROPERTY on a UObject. Supports undo (Ctrl+Z). NOTE: Component properties (e.g., RootComponent, LightComponent) are often unavailable remotely. Use ue5_call_function with setter functions like SetActorScale3D instead.

Inputs: objectPath (required), propertyName (required), value (required).

ue5_spawn_actorA

Spawns an actor in the level from a static mesh asset or an actor class. Use objectPath for static meshes (e.g., '/Engine/BasicShapes/Cube.Cube') or actorClass for native classes (e.g., '/Script/Engine.DirectionalLight').

Inputs: objectPath, actorClass, location, rotation.

ue5_spawn_actors_batchB

Spawns multiple actors in sequence. Useful for generating forests or large scenes quickly.

Inputs: transforms (required), objectPath, actorClass.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelogโ€ฆ

    TDQS

    A3.5/5.0

    Scored across 20 tools

    Disambiguation4/5

    Most tools have clearly distinct purposes. There is slight overlap between get_property/set_property and call_function for property access, but descriptions clarify when to use each.

    Naming Consistency4/5

    All tools use a consistent 'ue5_' prefix and mostly follow verb_noun snake_case. Minor deviations include 'new_level' (adjective+noun) and 'ping' (verb only).

    Tool Count5/5

    With 20 tools, the scope is well-calibrated for Unreal Engine editor automation, covering asset management, level operations, actor manipulation, and debugging without being excessive.

    Completeness4/5

    The tool set covers core CRUD operations for assets and actors, level management, and property access. Minor gaps exist, such as limited support for component properties and no explicit undo tool, but these are workable.

    Maintenance

    ActivityInactive
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      A server that enables control of Unreal Engine 5.5+ using natural language commands, allowing users to create Blueprints, manipulate actors, work with nodes, manage project settings, and create UMG widgets through the Model Context Protocol.
      6
      MIT
    • A
      license
      D
      quality
      B
      maintenance
      Enables AI assistants to control Unreal Engine via Remote Control API for game development automation, including asset management, actor control, level editing, animation, physics, visual effects, and cinematics creation through natural language.
      1
      1,219 npm
      1,032
      MIT
    • A
      license
      A
      quality
      C
      maintenance
      A comprehensive bridge connecting AI agents to Unreal Engine 5.7 through 39 MCP tools for scene manipulation, asset management, and blueprint control. It enables real-time perception and editor automation using the Remote Control API and file-based protocols.
      25
      3
      MIT