项目简介
Unreal Engine 生成式AI MCP支持插件是一个正在开发中的Unreal Engine插件,旨在通过模型控制协议(MCP)集成多种生成式AI模型API到Unreal Engine编辑器中。该插件实现了MCP服务器功能,允许支持MCP协议的LLM客户端(例如Claude Desktop App)通过预定义的工具集与Unreal Engine编辑器进行通信,从而实现对Unreal Engine场景的实时控制和内容生成。
主要功能点
- 资源管理: 通过MCP协议暴露Unreal Engine场景中的Actor、Blueprint等资源,允许LLM客户端查询和操作这些资源。
- 工具注册与执行: 提供了一系列预定义的工具,例如:
- 场景操作工具: 创建、修改和查询场景中的Actor(如Spawn Object, Set Object Position/Rotation/Scale/Material)。
- 蓝图编辑工具: 创建、修改和编译蓝图资源(如Create Blueprint, Add Component/Variable/Function/Node, Connect Nodes, Compile Blueprint, Spawn Blueprint Actor)。
- 基于Socket的通信: 使用Socket作为MCP服务器的传输协议,允许远程LLM客户端连接和控制Unreal Engine编辑器。
安装步骤
- 作为Git子模块添加到Unreal Engine项目: 在你的Unreal Engine项目的根目录下,打开命令行工具,执行以下命令将插件仓库添加为子模块:
git submodule add https://github.com/prajwalshettydev/UnrealGenAISupport Plugins/GenerativeAISupport - 生成Unreal Engine项目文件: 右键点击你的'.uproject'文件,选择 "Generate Visual Studio project files" (或者 "Generate Xcode project files" 如果你使用MacOS)。
- 启用插件: 打开Unreal Engine编辑器,进入 "Edit" -> "Plugins",在 "Project" -> "Other" 类别下找到 "Generative AI Support Plugin" 并启用它。
- (可选) 添加模块依赖 (仅限C++项目): 如果你的项目是C++项目,打开项目的Build.cs文件,在'PrivateDependencyModuleNames'中添加 '"GenerativeAISupport"'。
服务器配置
要让MCP客户端(例如Claude Desktop App)连接到此MCP服务器,你需要在客户端的配置文件中指定服务器的启动命令和参数。对于 Claude Desktop App,你需要修改其安装目录下的 'claude_desktop_config.json' 文件,添加如下配置:
{ "mcpServers": { "unreal-handshake": { "command": "python", "args": ["<你的项目目录>/Plugins/GenerativeAISupport/Content/Python/mcp_server.py"], "env": { "UNREAL_HOST": "localhost", "UNREAL_PORT": "9877" } } } }
配置参数说明:
- '"unreal-handshake"': 服务器名称,可以自定义。
- '"command": "python"': 指定启动服务器的命令为 'python',确保你的系统环境变量中可以找到Python解释器。
- '"args": ["<你的项目目录>/Plugins/GenerativeAISupport/Content/Python/mcp_server.py"]"': 指定 'mcp_server.py' 脚本的路径。请将 '<你的项目目录>' 替换为你的Unreal Engine项目在电脑上的实际路径。 这个脚本是MCP服务器的入口点,负责启动Socket服务器和注册工具。
- '"env"': 环境变量配置,通常无需修改。'UNREAL_HOST' 和 'UNREAL_PORT' 定义了Socket服务器监听的地址和端口,默认配置即可。
注意: MCP客户端只需要上述JSON配置信息,无需关注或修改 'command' 和 'args' 中指定的Python脚本代码。
基本使用方法
- 安装 Claude Desktop App: 如果你的MCP客户端是 Claude Desktop App,请先从官方渠道下载并安装。
- 配置 Claude Desktop App: 根据上面的 "服务器配置" 说明,修改 'claude_desktop_config.json' 文件,添加或修改 "unreal-handshake" 服务器配置,确保 'args' 路径正确指向你的项目中的 'mcp_server.py' 脚本。
- 启动 Unreal Engine 编辑器: 打开你的Unreal Engine项目,确保 "Generative AI Support Plugin" 插件已启用。插件会在Unreal Engine编辑器启动时自动注册Socket命令处理器。
- 启动 MCP 服务器 (mcp_server.py): 当你配置好 'claude_desktop_config.json' 并启动 Claude Desktop App 时,Claude Desktop App 会尝试根据配置启动 'mcp_server.py' 脚本,从而在后台运行MCP服务器。
- 在 Claude Desktop App 中连接和使用工具: 在 Claude Desktop App 中,你应该能够看到 "unreal-handshake" 服务器。连接到该服务器后,你就可以调用预定义的工具来控制Unreal Engine编辑器,例如创建Actor、修改材质、编辑蓝图等。 具体的工具调用方式和参数,请参考 'mcp_server.py' 脚本中 '@mcp.tool()' 注解定义的函数签名和文档字符串。
重要提示:
- 确保你的电脑上安装了Python环境,并且 'python' 命令可以正确执行。
- 首次使用可能需要安装 'mcp' Python库。你可以通过 'pip install mcp[cli]' 命令安装。
- 此插件和MCP服务器仍处于开发阶段,功能可能不完整,使用中可能会遇到问题。
信息
分类
开发者工具