第一部分:简介
设计并实现「大模型规划 + MCP/HTTP 通信 + UE C++ 执行」三段式架构,将 UE 5.3 编辑器中的蓝图、资产、Enhanced Input、GameMode、UMG 等能力封装为28 个可调用 Tool;支持 Cursor MCP、Ollama Function Calling、Web GUI 多入口统一编排,并导出蓝图 Schema 供 Cursor 编写 C++ 玩法逻辑,形成自然语言驱动工程落地的闭环。
工作内容
- 划分 AI 规划层、MCP/通信层、UE 执行层职责,设计 Tool Schema 与能力边界,降低大模型幻觉对工程内容的污染。
- 基于 UE Editor C++ 开发 AIUEBridge 插件,封装资产扫描、蓝图创建/修改、GameMode Classes / 项目默认 GameMode、Enhanced Input、UMG、GameplayTag/DataTable 等 HTTP Tool。
- 用 Python 实现 MCP Server 与 FastAPI Web Agent,对接 Cursor / Ollama,完成自然语言 → 多轮 Tool 编排 → UE 落盘。
- 实现 GameMode / Pawn / PlayerController 一键创建与 Classes 自动配置,沉淀 Recipe/CLI 与文档。
- 实现
export_for_cursor,将蓝图上下文导出为 Markdown/JSON,支撑「AI 搭框架、C++ 写交互」的人机协同流程。 - 完善健康检查、端口配置、Tool 日志与失败可观测,梳理编辑器自动化边界。
- 落地28个编辑器自动化 Tool,覆盖蓝图框架、Enhanced Input、GameMode 配置等关键路径。
- 打通 Cursor / Ollama / Web 三端共用同一套 UE 执行层,验证 MCP + Function Calling 在游戏工具链中的可行性。
- 形成「自然语言搭框架 → 自动化配置 → Cursor 辅助写 C++」可复用工作流,缩短从需求到可运行框架的搭建成本。
技术栈关键词
Unreal Engine 5·UE Editor Plugin·C++·Blueprint·Enhanced Input·MCP·LLM Agent·Function Calling·Ollama·Cursor·FastAPI·Python
第二部分:AIUEBridge 解决方案 · 应用场景 · 使用方式
结合
README.md与mcp_server/README.md整理的落地指南
Unreal Engine AI 执行层插件 — 把 UE 编辑器能力封装成 AI 可调用的 HTTP 工具集
一、解决方案(问题定义与解法)
解决什么问题
传统 UE 开发中,蓝图/资产/接口/Input 等操作依赖编辑器手工完成,难以被 AI 或代码自动化驱动。AIUEBridge 提供了一条「AI 规划 → UE 执行」的闭环:
AI 负责规划(Plan) → Cursor / Ollama / 外部 AI UE 负责执行(Execute) → UE Editor API 在编辑器内真正执行 MCP 负责通信(Protocol)→ HTTP / MCP / 自然语言转发核心设计理念
| 原则 | 说明 |
|---|---|
| 不是 AI | 不含 LLM / RAG / 规划逻辑,只做 UE 能力暴露 |
| 不是 MCP 本身 | 是一次「执行层」,MCP 只是其中一种通信协议 |
| 执行是真的 | 所有 Tool 均通过 UE Editor API 在编辑器内真实执行 |
| 单一入口 | 插件:18765是所有 UE 操作的唯一 HTTP 入口 |
分层职责
| 层级 | 组件 | 职责 |
|---|---|---|
| AI 层 | Cursor / Ollama / 外部 AI | 规划、推理、C++ 代码编写 |
| 通信层 | mcp_server / Web GUI | MCP 协议、自然语言、HTTP 转发 |
| 执行层 | AIUEBridge 插件 | 梳理/创建蓝图资产、导出 Cursor 上下文 |
| 输出层 | cursor_blueprint_context.md | 蓝图 → Cursor 可理解的 C++ 提示 |
二、应用场景
场景 1:AI 驱动蓝图创建(最核心)
程序化生成 Actor、道具、NPC 蓝图原型。
AI 规划 → create_blueprint → add_component → add_variable → compile_blueprint适合:批量搭建关卡物体、快速原型验证、占位资产生成。
场景 2:项目资产审计
让 AI 先了解 Content 目录结构再做决策。
AI 分析 → list_assets / search_assets → get_asset_info适合:资产盘点、命名规范检查、重复资产排查。
场景 3:蓝图结构分析 / Refactor 规划
AI 读取 → read_blueprint → 分析组件/变量/Graph → 给出修改建议适合:理解他人蓝图、重构前评估、依赖关系梳理。
场景 4:快速搭建基础系统
create_input_action + create_input_mapping → 输入系统 create_widget + add_widget_node → UI 框架 create_datatable + create_dataasset → 配置数据 create_gameplay_tag → 标签体系适合:新项目脚手架、Demo 快速启动、竖切(vertical slice)。
场景 5:蓝图梳理 → Cursor 编写 C++
将现有 Blueprint/Interface/Input 映射转为 C++ 原生类。
scan_blueprint_assets → export_for_cursor → Cursor @引用 md → 生成 C++ → UE 编译适合:蓝图转 C++ 重构、新建 BPI 后生成对应UINTERFACE、团队工程化迁移。
场景 6:一键 GameMode 配置
create_blueprint(BP_GameMode2) → configure_game_mode → set_project_default_game_mode适合:快速配置项目默认 GameMode、Pawn、PlayerController 等。
场景 7:日常开发 AI 副驾驶
在 Web GUI 用自然语言让 AI 在编辑器里操作,类似「UE 版 Copilot」。
适合:不想记 Tool 命令的美术/策划/原型设计师。
三、使用方式(四种入口)
| 方式 | 是否需要 Cursor | 命令 / 地址 | 适合用户 |
|---|---|---|---|
| Web GUI⭐ | 否 | python mcp_server/web_app.py→ http://127.0.0.1:8080 | 图形化聊天操作,非开发者 |
| 自然语言 CLI | 否 | python mcp_server/nl_chat.py | 终端用户 / 脚本化 |
| MCP Server | 可选 | python mcp_server/server.py | Cursor 及 MCP 客户端 |
| HTTP 直连 | 否 | curl POST :18765/api/tool/execute | 开发者 / CI / 第三方工具 |
四、完整启动流程
一次性准备(首次使用)
# 1. 启动 UE 编辑器并加载插件# 打开 AIUEBridgeTest.uproject,确认 Output Log 有:# LogAIUEBridge: AIUEBridge HTTP server started on port 18765# 2. 启动 Ollama 并拉取模型ollama serve ollama pull qwen2.5:7b# 3. 配置 Python 环境cdmcp_server copy .env.example .env# 复制配置模板python-mvenv .venv# 创建虚拟环境.venv\Scripts\activate# Windows 激活pipinstall-rrequirements.txt# 4. 启动 Web GUIpython web_app.py# 浏览器打开 http://127.0.0.1:8080日常使用(三件事都开着)
| 服务 | 状态验证 |
|---|---|
UE 编辑器(含插件:18765) | curl http://127.0.0.1:18765/api/health |
Ollama(:11434) | 页面状态灯为绿色 |
Web GUI(:8080) | 浏览器可打开 |
五、Web GUI 使用示例
基础指令
在 /Game/Characters 下创建名为 BP_Enemy 的 Actor 蓝图 给 /Game/Characters/BP_Enemy 添加 StaticMeshComponent,名字叫 Mesh 列出 /Game 目录下所有蓝图 搜索名称包含 Player 的资产快捷指令(左侧一键)
| 按钮 | 等效指令 |
|---|---|
| 列出蓝图 | 列出 /Game 目录下所有蓝图资产 |
| 创建蓝图 | 在 /Game/Test 下创建一个名为 BP_Demo 的 Actor 蓝图 |
| 搜索 Player | 搜索名称包含 Player 的资产 |
界面要点
- 左侧状态灯:UE 插件绿 / Ollama 绿 = 可正常操作
- AI 回复下方「⚙ 执行了 N 个 UE 工具」:点击展开 Tool 调用日志
- 清空对话:清历史,不影响 UE 已建资产
- 配置文件修改后需重启
web_app.py
六、curl / HTTP 直连示例
# 健康检查curlhttp://127.0.0.1:18765/api/health# {"status":"ok","service":"AIUEBridge","port":18765}# 创建蓝图curl-XPOST http://127.0.0.1:18765/api/tool/execute\-H"Content-Type: application/json"\-d"{\"tool\":\"create_blueprint\",\"params\":{\"name\":\"BP_Enemy\",\"path\":\"/Game/Characters\",\"parent_class\":\"Actor\"}}"# 添加组件curl-XPOST http://127.0.0.1:18765/api/tool/execute\-H"Content-Type: application/json"\-d"{\"tool\":\"add_component\",\"params\":{\"asset_path\":\"/Game/Characters/BP_Enemy\",\"component_class\":\"StaticMeshComponent\",\"component_name\":\"Mesh\"}}"# 导出 Cursor C++ 上下文curl-XPOST http://127.0.0.1:18765/api/tool/execute\-H"Content-Type: application/json"\-d"{\"tool\":\"export_for_cursor\",\"params\":{\"path\":\"/Game\",\"write_to_file\":true}}"七、Cursor / MCP 接入方式
配置文件.cursor/mcp.json:
{"mcpServers":{"aiue-bridge":{"command":"C:/path/to/mcp_server/.venv/Scripts/python.exe","args":["C:/path/to/AIUEBridge/mcp_server/server.py"],"env":{"UE_BRIDGE_URL":"http://127.0.0.1:18765"}}}}保存后重启 Cursor生效。
八、配置速查(.env)
| 变量 | 默认值 | 说明 |
|---|---|---|
UE_BRIDGE_URL | http://127.0.0.1:18765 | 须与 UEMCPPort一致 |
OLLAMA_URL | http://127.0.0.1:11434 | Ollama 地址 |
OLLAMA_MODEL | qwen2.5:7b | 默认 LLM(需支持 function calling) |
WEB_PORT | 8080 | Web GUI 端口 |
MAX_TOOL_ROUNDS | 8 | 单轮最多连续 Tool 调用 |
ENABLE_SHELL | true | Web 左栏 CMD 终端开关 |
修改端口需保证 UE
MCPPort与UE_BRIDGE_URL一致;.env改动后重启 Web 服务。
九、能力边界(注意事项)
可以做:创建/读取/修改蓝图与基础资产、添加组件/变量/函数、Widget Blueprint、Enhanced Input、DataTable、DataAsset、Gameplay Tag、导出 Cursor C++ 上下文。
不能做:
| 限制 | 说明 |
|---|---|
| 编辑器专用 | 无法打入 Shipping / 打包版本 |
| 无 Graph 连线 | 不能添加或连接蓝图节点 Pin |
| 无 Material / Level | 未实现材质、关卡操作 |
| 无自动 C++ 写入 | 只导出 schema,不自动写 Source 或触发 UBT 编译 |
| 无 AI 推理 | 不含 LLM / RAG / 规划(由外部 AI 层负责) |
| 无 HTTPS | 仅本地 HTTP,不对外网暴露 |
十、故障排查速查
| 现象 | 处理 |
|---|---|
| Web 打不开 | python web_app.py未运行 |
| UE 红灯 | 开 UE,确认插件加载 + Log 有 HTTP started |
| Ollama 红灯 | ollama serve;ollama pull对应模型 |
| 发送后无响应 | 增大OLLAMA_TIMEOUT/UE_BRIDGE_TIMEOUT |
| AI 不操作 UE | 换支持 function calling 的模型(qwen2.5:7b) |
| 端口不一致 | 统一 UEMCPPort与.envUE_BRIDGE_URL |
改.env无效 | 重启web_app.py |
十一、一句话总结
AIUEBridge = 把 UE 编辑器 API 封装成 AI 可调用工具的执行引擎,是 UE 被 AI 控制的唯一入口。