虚幻引擎AI控制插件

UnrealMCP是一个非官方的虚幻引擎插件,通过实现机器控制协议(MCP)使外部AI系统能够以编程方式与虚幻环境交互和操作。

  • by AlexKissiJr
  • C++
  • 本地部署
  • 10 星标
  • 更新于
在 GitHub 查看 AlexKissiJr/UnrealMCP

使用说明

不可读CP插件

非常WIP回购

我现在正在努力添加更多工具并清理代码库, 我计划允许在主插件之外轻松扩展工具

这是一项正在进行的工作,我需要清理很多东西!!!!!

此外,我只使用windows,所以我不知道如何为mac/unix设置它

概述

UnrealMCP是一个非官方的虚幻引擎插件,旨在使用人工智能工具控制虚幻引擎。它在虚幻引擎中实现了机器控制协议(MCP),允许外部AI系统以编程方式与虚幻环境交互和操纵。

我几天前才了解MCP,所以我对它不太熟悉,我还在学习,所以事情最初可能会很艰难。 我已经使用https://github.com/ahujasid/blender-mcp作为参考,它依赖于Claude的Desktop。它现在可以与Claude for Desktop和Cursor一起使用。如果你尝试其他型号,请告诉我!

⚠️ 免责声明

此插件允许AI代理直接修改您的虚幻引擎项目。虽然它可能是一个强大的工具,但它也有风险:

  • AI代理可能会对您的项目进行意外更改
  • 文件可能会被意外删除或修改
  • 项目设置可以更改
  • 资产可能被覆盖

重要安全措施:

  1. 始终在项目中使用源代码管理(如Git或Perforce)
  2. 定期备份您的项目
  3. 首先在单独的项目中测试插件
  4. 在提交更改之前对其进行审查

通过使用此插件,您承认:

  • 您对项目所做的任何更改负全部责任
  • 插件作者不对AI代理造成的任何损坏、数据丢失或问题负责
  • 您使用此插件的风险由您自行承担

特性

  • 虚幻引擎远程控制的TCP服务器实现
  • 基于JSON的AI工具集成命令协议
  • 编辑器UI集成,便于访问MCP功能
  • 全面的场景操作能力
  • 用于客户端交互的Python配套脚本

路线图

这些是我对截至2025年3月14日的发展的设想 我还不确定什么是可能的,理论上什么都有,但这取决于如何 集成LLM在利用这些工具方面做得很好。

  • [X] 基本操作工作
  • [X] Python工作
  • [X] 材料
  • []用户扩展(正在进行中)
  • []资产工具
  • []蓝图
  • []尼亚加拉视觉特效
  • []元声音
  • []景观(我可能会推迟,因为Epic提到他们将更新景观工具)
  • []建模工具
  • []PCG

需求

  • 虚幻引擎5.5(我只在这个版本上测试过,可能适用于更早的版本,但没有官方支持)
  • 为虚幻引擎配置的C++开发环境
  • Python 3.7+用于客户端脚本编写
  • 运行命令的模型,在测试中,我一直在使用Claude for Desktophttps://claude.ai/download

运行的先决条件

  • 虚幻编辑器安装(已在5.3版本中测试,但应适用于5.0+版本)
  • Python 3.7+(这可以与您现有的Python安装一起运行)
  • MCP兼容LLM(Claude用于桌面、光标等)
  • 安装程序:按照mcp/README_mcp_Setup.md中的说明运行mcp文件夹中的Setup_unreal_mcp.bat

Cursor用户快速入门

如果您想将UnrealMCP与Cursor一起使用,请按照以下简单步骤操作:

  1. 克隆或下载此存储库为zip
  2. 创建新的虚幻项目,或打开现有项目
  3. 如果项目目录中不存在“插件”文件夹,请在其中创建一个
  4. 解压缩或将此存储库复制到Plugins文件夹中
  5. 跑 setup_cursor_mcp.bat 在MCP文件夹中
  6. 打开虚幻项目,在编辑>插件中启用插件(如果尚未启用)
  7. 启动Cursor并让它与虚幻项目一起工作

就是这样!安装脚本将自动配置Cursor集成所需的一切。

安装

  1. 克隆或下载此存储库为zip
  2. 创建新的虚幻项目,或打开现有项目
  3. 如果项目目录中不存在“插件”文件夹,请在其中创建一个
  4. 解压缩或将此存储库复制到Plugins文件夹中
  5. 设置MCP
    • 跑吧 setup_unreal_mcp.bat MCP文件夹中的脚本(请参见 MCP/README_MCP_SETUP.md 详情)
    • 这将配置Python和您的AI助手(Claude用于桌面或光标)
  6. 打开虚幻项目,插件应该在插件菜单中可用
  7. 如果没有,请在“编辑”>“插件”中启用该插件
  8. 选择您喜欢的AI助手:
    • 对于桌面版的Claude:请按照下面“使用桌面版Claude”部分中的说明进行操作
    • 对于光标:请按照下面“使用光标”部分的说明进行操作

Claude桌面版

您需要找到Claude for Desktop的安装目录。找到claude_desktop_config.json并添加一个条目,使其看起来像这样:

窗户: %APPDATA%\Claude\claude_desktop_config.json

{
    "mcpServers": {
        "unreal": {
            "command": "C:/path/to/your/project/Plugins/UnrealMCP/MCP/run_unreal_mcp.bat",
            "args": []
        }
    }
}

或者,unreal_mcp_setup.bat脚本应该为您完成此操作。

要找到桌面安装的claude路径,您可以进入设置并单击“编辑配置” 这通常在

C:\Users\USERNAME\AppData\Roaming\Claude

带光标

如果您使用Cursor选项运行了安装脚本,则应自动配置Cursor。如果需要手动配置它:

窗户: %APPDATA%\Cursor\User\settings.json

添加或更新设置:

{
    "mcp": {
        "enabled": true,
        "servers": {
            "unreal": {
                "command": "C:/path/to/your/project/Plugins/UnrealMCP/MCP/run_unreal_mcp.bat",
                "args": []
            }
        }
    }
}

测试

一旦一切都设置好了,你需要启动虚幻编辑器。 注意:运行mcp桥不需要启动或设置其他任何东西,它将在需要时运行。

打开Claude for Desktop或Cursor,确保工具已成功启用,让您的AI助手在虚幻中工作。

以下是一些示例提示:

  • “目前有哪些演员?”
  • 在(0,0100)位置创建立方体
  • “列出我可以在虚幻引擎中使用的可用命令”

用法

在虚幻编辑器中

启用插件后,您将在编辑器工具栏按钮中找到MCP控件。

TCP服务器可以从这里启动/停止。 检查日志过滤器LogMCP下的输出日志以获取更多信息。

一旦从编辑器确认服务器已启动并正在运行。 打开Claude for Desktop,确保工具已成功启用,让Claude在虚幻中工作。

目前只支持基本操作,创建对象、修改其变换、获取场景信息和运行python脚本。 Claude在使用虚幻python时犯了很多错误,因为我相信没有很多例子,但让它运行,它通常会解决问题。 我真的很想改进它的工作原理,但这是在虚幻中添加功能的低垂之果。

客户端集成

使用提供的Python脚本 MCP 用于连接和控制虚幻引擎实例的目录:

from unreal_mcp_client import UnrealMCPClient

# Connect to the Unreal MCP server
client = UnrealMCPClient("localhost", 13377)

# Example: Create a cube in the scene
client.create_object(
    class_name="StaticMeshActor",
    asset_path="/Engine/BasicShapes/Cube.Cube",
    location=(0, 0, 100),
    rotation=(0, 0, 0),
    scale=(1, 1, 1),
    name="MCP_Cube"
)

命令参考

该插件支持各种场景操纵命令:

  • get_scene_info:检索有关当前场景的信息
  • create_object:在场景中生成新对象
  • delete_object:从场景中删除对象
  • modify_object:更改现有对象的属性
  • execute_python:在虚幻的Python环境中运行Python命令
  • 还有更多即将到来。..

请参阅 Docs 完整的命令参考目录。

安全考虑

  • 默认情况下,MCP服务器接受来自任何客户端的连接
  • 将服务器暴露于本地主机以进行开发
  • 验证所有传入命令以防止注入攻击

故障排除

  • 确保虚幻引擎与MCP插件一起运行。
  • 检查Claude for Desktop中的日志以获取stderr输出。
  • 我刚刚解决了分歧,但我会定期检查 Discord(梦想工作室):https://discord.gg/abRftdSe

项目结构

  • Source/UnrealMCP/:核心插件实现
    • Private/:内部实施文件
    • Public/:公用头文件
  • Content/:插件资产
  • MCP/:Python客户端脚本和示例
  • Resources/:图标和其他资源

许可证

MIT许可证

版权所有(c)2025 kvick

特此免费向任何获得副本的人授予许可 本软件和相关文档文件(“软件”),以处理 在软件中不受限制,包括但不限于权利 使用、复制、修改、合并、发布、分发、再许可和/或销售 软件的副本,并允许软件的接收者 根据以下条件提供:

上述版权声明和本许可声明应包含在所有 软件的副本或实质性部分。

软件按“原样”提供,不提供任何形式的明示或明示担保 隐含的,包括但不限于适销性保证, 适用于特定目的且不造成伤害。在任何情况下 作者或版权持有人对任何索赔、损害赔偿或其他 因以下原因产生的责任,无论是在合同、侵权或其他诉讼中, 出于或与软件、使用或其他交易有关 软件。

鸣谢

  • 创建者:kvick
  • 十、 @kvickart
  • 不一致:https://discord.gg/abRftdSe

感谢测试人员!!!

  • https://github.com/TheMurphinatur

  • @ 网站 为了激励

贡献

欢迎捐款,但我需要一些时间来理清思路,先清理一下,哈哈