我正在添加更多工具并清理代码库, 计划允许在主插件之外轻松扩展工具。
这还在开发中,我需要清理很多东西!!!
另外,我只使用 Windows,所以我不清楚如何在 Mac/Unix 上设置它。
UnrealMCP 是一个非官方的 Unreal Engine 插件,旨在通过 AI 工具控制 Unreal Engine。它在 Unreal Engine 中实现了机器控制协议(MCP),允许外部 AI 系统以编程方式与 Unreal 环境进行交互和操作。
几天前我才了解到 MCP,所以我对它还不太熟悉,还在学习阶段,因此一开始可能会有些粗糙。 我是根据 https://github.com/ahujasid/blender-mcp 进行实现的,该参考依赖于 Claude for Desktop。现在它可以与 Claude for Desktop 和 Cursor 一起工作。如果您尝试了其他模型,请告诉我!
此插件允许 AI 代理直接修改您的 Unreal Engine 项目。虽然它可以是一个强大的工具,但也存在风险:
重要安全措施:
通过使用此插件,您承认:
这是截至 2025 年 3 月 14 日我考虑的开发内容 我还不确定什么可能实现,在理论上可以是任何东西,但取决于集成的 LLM 利用这些工具的能力。
如果您想使用 UnrealMCP 与 Cursor 一起使用,请遵循以下简单步骤:
setup_cursor_mcp.bat就这样!设置脚本会自动配置所有需要的内容以进行 Cursor 集成。
setup_unreal_mcp.bat 脚本(详见 MCP/README_M_ SETUP.md)您需要找到 Claude for Desktop 的安装目录。找到 claude_desktop_config.json 并添加一个条目,使其看起来像这样:
Windows: %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 for Desktop 的安装路径,您可以进入设置并点击“编辑配置” 这通常位于
C:\Users\USERNAME\AppData\Roaming\Claude
如果已经使用 Cursor 选项运行了设置脚本,Cursor 应该已经被自动配置。如果需要手动配置:
Windows: %APPDATA%\Cursor\User\settings.json
添加或更新设置如下:
{
"mcp": {
"enabled": true,
"servers": {
"unreal": {
"command": "C:/path/to/your/project/Plugins/UnrealMCP/MCP/run_unreal_mcp.bat",
"args": []
}
}
}
}
一旦一切就绪,您需要启动 Unreal 编辑器。 注意:无需启动或设置其他内容即可运行 mcp 桥接,它将在需要时运行。
打开 Claude for Desktop 或 Cursor,确保工具已成功启用,请求您的 AI 助手在 Unreal 中工作。
这里有一些示例提示供您尝试:
一旦启用了插件,您会在编辑器工具栏按钮中找到 MCP 控制。
可以从这里启动/停止 TCP 服务器。 检查日志过滤器 LogMCP 下的输出日志以获取更多信息。
一旦从编辑器确认服务器已启动并运行。 打开 Claude for Desktop,确保工具已成功启用,请求 Claude 在 Unreal 中工作。
目前仅支持基本操作,如创建对象、修改它们的变换、获取场景信息以及运行 Python 脚本。 Claude 在处理 Unreal Python 方面会犯很多错误,我认为这方面的例子不多,但让它运行,它通常能解决问题。 我非常希望改进这一点,但它是在 Unreal 中增加功能的低挂果实。
使用 MCP 目录中提供的 Python 脚本连接并控制您的 Unreal Engine 实例:
from unreal_mcp_client import UnrealMCPClient
# 连接到 Unreal MCP 服务器
client = UnrealMCPClient("localhost", 13377)
# 示例:在场景中创建一个立方体
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: 在 Unreal 的 Python 环境中运行 Python 命令请参阅 Docs 目录中的文档以获取完整的命令参考。
Source/UnrealMCP/: 核心插件实现
Private/: 内部实现文件Public/: 公共头文件Content/: 插件资产MCP/: Python 客户端脚本和示例Resources/: 图标和其他资源MIT 许可证
版权所有 (c) 2025 kvick
在此授权任何人免费获得此软件及其相关文档文件(以下简称“软件”)的副本, 在不受限制的情况下使用软件,包括但不限于以下权利: 使用、复制、修改、合并、发布、分发、再许可和/或销售 软件的副本,并允许向其提供软件的人这样做,但须遵守以下条件:
上述版权声明和本许可通知应包含在软件的所有副本或实质部分中。
软件按“原样”提供,不附带任何形式的保证,无论是明示的还是默示的,包括但不限于对适销性、特定用途适用性和非侵权性的保证。 在任何情况下,作者或版权持有人都不对因软件或其使用或其他交易而产生的任何索赔、损害或其他责任承担责任,无论是在合同行为、侵权行为或其他行为中产生。
欢迎贡献,但我需要一些时间来理解事情并首先进行清理,哈哈。