Codex + Unreal MCP 全流程拆解:AI 一周做出全战式三国战棋
用 Codex 加 Unreal Engine 5.8 的 MCP 接口做游戏,这件事已经从”能不能”的演示题变成了可复现的工程流水线。本文按 Epic 官方文档加真实调用记录,把这条 AI 游戏开发 流水线完整拆开:Unreal MCP 到底开放了哪些能力、Agent 在编辑器里实际执行了什么动作、3D 资产这环怎么用 AI 顶掉建模工时,以及最容易把人卡死在第一步的九个连接坑。

同一套系统有两个视角:俯视沙盘上指挥千军万马,或者切到第三人称亲自操控武将冲锋。


先说结论:这条流水线的代码侧和编辑器操作侧已经接近全自动,真正还卡在人身上的,是 3D 资产的骨骼与动画,以及”怎么验收 Agent 写出来的东西对不对”。想理解这条链路的能力边界,先得搞清楚 Unreal MCP 到底是个什么东西。
一、机会窗口:Unreal Engine 5.8 把 MCP 服务器塞进了编辑器
2026 年 6 月,Unreal Engine 5.8 正式发布(Epic 官网新闻 6 月 23 日,开发者论坛公告 6 月 17 日)。这一版最值得注意的不是渲染管线,而是官方内置了实验性插件 Unreal MCP —— 插件标识是 ModelContextProtocol,路径在 Engine/Plugins/Experimental/ModelContextProtocol/ModelContextProtocol.uplugin。
Epic 文档里的定义非常直接:
Unreal MCP embeds an MCP server inside the Unreal Editor process so that any MCP-compatible AI agent, such as Claude Code, Cursor, or the MCP Inspector, can drive the editor over a local HTTP connection.
翻译成工程语言:MCP 服务器跑在编辑器进程内部,任何说 MCP 协议的客户端都能通过本机 HTTP 直接驱动引擎。默认绑定 http://127.0.0.1:8000/mcp,serverInfo.name 恒为 unreal-mcp,端口和 URL 路径都能在编辑器偏好里改。
它开放的能力覆盖了相当一部分日常编辑器操作:
| 能力类别 | 官方文档列出的内容 |
|---|---|
| 关卡与对象 | 生成 Actor(spawn actors)、检查 Slate widget |
| 材质与渲染 | 配置灯光(configuring lighting)、创建材质实例(creating material instances) |
| 质量验证 | 运行自动化测试(running automation tests) |
| 扩展方式 | 用自己的 Toolset / IModelContextProtocolTool 继续加工具 |

三个模块的职责划分也值得记一下:ModelContextProtocol 和 ModelContextProtocolEngine 是运行时模块(服务器、协议实现、设置、控制台命令),ModelContextProtocolEditor 只管自动启动钩子和”把 Toolset Registry 里的工具集适配成 MCP Tool”。所以服务器本身并不死绑编辑器 —— 打包后的游戏也能通过 IModelContextProtocolModule::StartServer() 托管一个 MCP 服务器,只是 Registry 里的工具不会被自动发现,得自己 AddTool() 注册。
⚠️ 官方在这一页开头就写着:这是 Experimental 特性,「many features are incomplete or missing」,而且没有鉴权层、只绑 loopback、仅支持 HTTP 与 SSE(stdio 和 WebSocket 都不支持)。本地开发够用,别想着把它暴露到局域网或公网。
二、整条流水线:AI 游戏开发拆成三条并行支路,终点都是 Unreal MCP
这套做法最聪明的地方不在于”AI 写代码”,而在于把一个游戏项目拆成三条并行支路,每条支路都自带工具,最后统一汇入 Unreal MCP。最初的想法其实只是几张草图,后来才长成完整流程:

整体结构是这样的:
1 | +------------------------------------------------------------+ |
三条支路各自的分工与工具链:
| 支路 | 做什么 | 工具链 |
|---|---|---|
| 玩法开发 | 原型 → 规则:选兵、队列移动、攻击、伤亡、胜负结算 | Codex → Unreal MCP |
| 角色与动画 | 关羽、赤兔马、青龙偃月刀的建模、骨骼与动作调试 | Hi3D Agent → Blender → Unreal MCP |
| 战场素材 | 地图场景、士兵模型等外部素材的挑选与摆放 | 素材库 + Unreal MCP |

有意思的是,在这套分工里 Codex 不只是”写代码的”,它同时扮演了项目管家、玩法设计师和任务调度器的角色。具体的做法是:让 Agent 先把一个模糊的想法拆成”能独立验收的小步”,每一步都能立刻试玩,然后再决定哪条支路先动。
三、第 0 步:让 Codex 先评估可行性,再拆阶段出验收清单
这是整条流水线的启动姿势,而且顺序不能乱。Agent 在写第一行代码之前,先被要求回答四个问题:
- 哪些功能在当前技术条件下可以实现
- 可能会遇到的技术难点是什么
- 需要准备哪些素材
- 需要补哪方面的知识

然后才进入第二阶段:把整个开发流程拆成不同阶段,输出一份任务清单。这份清单里最有价值的一条设计原则是 —— 每一步都做成可以试玩验收的版本,而不是攒到最后统一验收。
实际产出的清单长这样(这是已经跑通的基础 + 后续待做项):
| 顺序 | 制作内容 | 完成后能体验到什么 |
|---|---|---|
| 已完成 | 基础镜头、选兵、队列移动、攻击、伤亡、简单敌军迎击、胜负结算与重开 | 一个能开一局、能分胜负的循环 |
| 1 | 部队避让与接敌阵型 | 改善友军重叠、多人围攻挤成一团、转向与补位,多队同时移动交战时阵型更难混 |
| 2 | 指挥操作与中文界面 | 中文提示、目标标记、部队编号快捷键、暂停下令、速度控制 |
| 3 | 士气与溃退 | 伤亡与附近友军溃散影响士气,加入撤退与重整;战斗可以通过打垮士气获胜 |
| 4 | 侧击与背击 | 判断攻击方向,加入侧后方奇袭和士气惩罚,绕侧翼、包围开始有明确收益 |
| 5 | 兵种差异 | 先完成枪兵、刀盾兵、弓兵,再加入骑兵,可搭配阵容,测试掩护、远射和冲锋 |
| 6 | 战场地形与寻路 | 山坡、树林、障碍、通道,加入绕行与射线遮挡,地形会影响布阵和进攻路线 |
| 7 | 敌军战术 | 分配目标、保护弓兵、使用预备队,敌军能组织进攻而非只向最近目标靠近 |

这份清单的工程质量其实比”AI 帮我列个计划”高一个档次:它把抽象需求(比如”战斗手感要好”)翻译成了可验证的行为(比如”侧击要有明确收益”),这正是后面 Agent 能自我验收的前提。玩法设计的参考系是《全战:三国》的战棋层加《骑马砍杀》的第三人称操控层,前者给宏观调度,后者给个体操作。
四、代码侧:Agent 在编辑器里到底干了什么
这是最能说明”AI 到底能不能碰引擎”的一段。实际调用记录里,Agent 通过 unreal-mcp 工具做的是这样一类事:
- 在项目里检索可用的资产与子图,判断”这一步到底需不需要额外查资产”
- 发现选定的子图已经能完成目标后,主动放弃一次查询(记录里明确写了”选定了一个恰好满足需求的子图,不用再查 SGD 资产”)
- 读取地形数据、抽取点位、批量散布树木
- 替换建筑生成节点:识别出一个自建的
Assign_CityStyleBuildings原语,带着minHeight、maxHeight、buildingStyles、staggered、foundation这些参数,把旧的入口节点替换成”每类建筑一个原语” - 整体缩放对齐(propagating 阶段耗时 58 秒,约 3.1k tokens)

几个关键工程细节决定了这类调用能不能稳定跑通:
| 机制 | 官方定义 | 对 Agent 的影响 |
|---|---|---|
| Tool Search 模式 | tools/list 默认只返回 list_toolsets / describe_toolset / call_tool 三个元工具 |
工具集几百个时不会撑爆上下文,Agent 需要时再按需展开 |
| 线程模型 | Tool 调用在游戏线程上串行执行 | 客户端不能并发发工具调用,否则会互相踩 |
| 命令行开关 | -ModelContextProtocolStartServer、-ModelContextProtocolPort=N |
可以在 commandlet 里起服务器,做自动化流程 |
| 工具刷新 | ModelContextProtocol.RefreshTools 重新轮询注册表 |
Live Coding 改完函数体后跑一次;但新增 UFUNCTION 必须重启编辑器 |
另外,官方自带了一套工具集基线:SceneTools、ActorTools、MaterialInstanceTools、ObjectTools(Python 实现),C++ 侧则有 UAttributeSetToolset(在 GASToolsets 插件里,默认禁用)。想自己加工具,规矩很明确:Python 侧用 @unreal.uclass() + @toolset_registry.tool_call + @staticmethod,类型注解直接生成 JSON Schema,docstring 用 Google 风格的 Args: / Returns:;C++ 侧继承 UToolsetDefinition 并标 meta = (AICallable)。描述写得好不好,直接决定 Agent 选不选你的工具 —— 这是写 Toolset 时最容易被低估的成本。
五、3D 资产侧:Hi3D Agent 把”建模”压缩成一句话
游戏项目里最贵的从来不是代码,而是美术资产。这条流水线的做法是引入 Hi3D Agent —— 一站式 AI 3D 创作平台 Hi3D(开发方 Math Magic)推出的 3D 创作 Agent,2026 年 9 月 21 日发布,官方定位是”首个专为 3D 创作打造的一体化 AI Agent”,底层是 Hi3D V3.0 —— 首个商用的 2048³ 体素级分辨率 AI 3D 模型,Agent 侧内置 GPT-6 Astra。
实际使用下来的操作序列是这样的:先出提示词图 → 云端生成模型 → Agent 拆件 → 记录进资产库。中间的一次生成任务留下了完整痕迹:
- 云端生成产出两版模型:
chitu · v2(GLB 47.17 MB)与chitu · v3(GLB 191.58 MB) - Agent 一次任务完成 6 项操作(思考 1 次 · 5 次工具调用)
- 自动拆件:赤兔马的鬃毛和尾巴被拆成独立网格,可以分别选择、隐藏或调整位置 —— 这一步对后续骨骼绑定几乎决定成败
- 交付形态:登记为包含鬃毛、尾巴等 10 个独立部件的资产
- 关键限制:目前还没有绑定骨骼,也没有启用物理模拟

平台侧配套能力还包括 3D Model Maker(图生 3D、贴图、拆件、多格式导出)、AI Texturing、Split for 3D Printing(拆件并自动加连接件)、多色打印等。计费走积分制,注册可领积分,新用户有 48 小时免费体验窗口。
⚠️ 两个要提前知道的现实问题:一是 GLB 体积(47 MB / 192 MB)直接进 UE 是不可能不炸内存的,必须减面 + LOD + 纹理压缩;二是 Hi3D 不解决绑定与动画,它省掉的是”从零建模”的工时,不是”让它动起来”的工时。
六、Blender 是省不掉的中间层
所以关羽、赤兔马、青龙偃月刀这三件套的最终形态,是在 Blender 里反复调出来的:模型整合进 Blender 之后,Agent 参与骨骼与动作的调试,画面里能看到至少三轮”再调一版”(每一次都是同一个动作修一个具体问题),最后才导入虚幻引擎试运行。

这一环的定位需要说清楚:AI 把资产生产的前半段(概念图 → 高精度网格 → 分件)压缩到了分钟级,但后半段(蒙皮权重、骨骼层级、动画曲线、碰撞体、LOD)依然是人和 Agent 协作的重活。想跳过 Blender 直接把 AI 生成的模型塞进 UE,结果通常是模型在原地抽搐。
七、原型阶段的纪律:先方块人,后内容
整个项目最初的原型极其简陋 —— 只有方块人物和一个简单的测试场景,唯一目的是验证基础功能能不能跑通。等核心循环(选兵 → 队列移动 → 攻击 → 伤亡 → 胜负结算 → 重开)跑通之后,才让 Codex 逐步丰富内容:从素材库里挑合适的地图和士兵素材,一点点把战场环境搭出来。

这个顺序值得单独拎出来说,因为它是整个项目能”一周做完”的关键:内容丰富度是可延后的,玩法闭环不可延后。很多人用 AI 做项目时反过来做 —— 先堆素材和场景,最后发现核心循环根本不好玩,素材全废。

顺带提一句素材来源的合规问题:地图和士兵素材一般来自网络素材库(UE 生态的 Fab 是主要来源),商用必须拿到授权;《三国》这个题材本身没有版权,但你用的每一个具体美术资产都有版权。这条流水线不帮你解决任何授权问题。
八、Unreal MCP 的九个连接坑(踩过才知道)
Unreal MCP 是实验特性,文档自己都写明”many features are incomplete or missing”。下面这几条来自 Epic 开发者论坛的真实排障记录和官方文档,建议直接照着做:
- 端点必须是
http://127.0.0.1:8000/mcp,不是裸:8000。连到根路径会在 TCP 层连上、协议层立刻断,表现就是”连接秒断”,很容易误判成插件坏了。 - 健康检查用 GET:
GET http://127.0.0.1:8000/mcp返回 405 说明服务器活着;再 POST 一个initialize载荷完成握手。 - 服务器在编辑器进程内,要等编辑器完全加载(地图 + 着色器)之后再连;连接能扛住编辑器重启,但扛不住客户端重启 —— 客户端重启后必须重连。
- “MCP Client Toolset” 是让 UE 当客户端用的,和对外提供服务无关,打开它不会修复入站连接。
list_toolsets只返回AgentSkillToolset说明 toolset 插件没在项目里启用,和服务器本身无关。- Codex CLI 的 TOML 配置是 write-once:
GenerateClientConfig拒绝覆盖已存在的文件,配置过期了得手动删掉再生成(JSON 格式的.mcp.json则会合并,反复执行安全)。 - Live Coding 不传播新的
UFUNCTION声明:改函数体可以热重载,新增工具必须重启编辑器,之后还要跑ModelContextProtocol.RefreshTools并重连客户端。 - 只支持 HTTP 与 SSE,stdio / WebSocket 都不支持;没有鉴权、只绑 loopback。
- 在编辑器内嵌终端跑 Agent 要额外两步:
export TERM=xterm-256color,并显式cd到.mcp.json所在目录(终端面板默认从引擎安装目录启动)。少了第一条,claude这类 CLI 会退化到裸转义序列输出。
调试时还有三个官方入口:日志类别 LogModelContextProtocol(控制台 Log LogModelContextProtocol Verbose)、输出日志里的启动绑定信息、以及 MCP Inspector(npx @modelcontextprotocol/inspector,用 Streamable HTTP 指向 http://127.0.0.1:8000/mcp)。Tool 调不通时先用 Inspector 排除 Agent 本身的理解偏差 —— 这一步经常能直接定位问题。
九、这套流程适合谁,不适合谁
| 适合 | 不适合 |
|---|---|
| 独立开发者做玩法原型 / 可玩 Demo,验证”这个机制好不好玩” | 目标是成品美术质量的项目 —— AI 生成的资产离商业品质仍有距离 |
| 已经有 UE 基础、能看懂蓝图/C++/资产管线的美术或 TA | 完全不懂 UE 的人 —— Agent 会替你搭,但你没法验收它写的东西对不对 |
| 内部工具、关卡原型、内部工具型小游戏的快速验证 | 不熟悉 IP 与资产合规的团队 —— 素材授权问题会直接卡住上线 |
| 想把”AI 能做游戏”从口号变成可度量工程量的团队 | 指望 Agent 一次到位端到端交付美术成品的人 |
十、一周复刻清单
如果要用 UE 5.8 + Codex + MCP 复刻这套流程,按这个顺序走:
- 装 UE 5.8,
Edit > Plugins里启用 Unreal MCP 和 All Toolsets(会连带启用 Toolset Registry),重启编辑器。 Edit > Editor Preferences > General > Model Context Protocol→ 打开 Auto Start Server,确认端口8000、路径/mcp。- 编辑器控制台执行
ModelContextProtocol.GenerateClientConfig Codex(想同时配多个 Agent 用All),在项目根目录生成配置文件。 - 从项目根目录启动 Codex —— 在别的目录启动它就找不到 MCP 配置。
- 先让 Agent 出可行性评估 + 阶段拆分 + 任务清单,每条验收标准都写成可试玩的行为。
- 做方块原型,只跑通核心循环:选兵 → 移动 → 攻击 → 伤亡 → 胜负结算 → 重开。
- 再补三块:玩法规则、3D 资产(Hi3D 出模型 → Blender 补骨骼动画 → 减面 → 导入)、战场场景。
- 每加一块就试玩验收,别攒到最后。
总结:AI 把游戏开发切成了”可并行的三段”
一周做出一个能玩的三国战棋原型,这件事真正被证明的不是”AI 能写游戏”,而是游戏开发可以被切成玩法、角色动画、战场素材三条并行支路,每条支路配一个 Agent(规划统一交给 Codex),最后通过 Unreal MCP 汇入同一个引擎。瓶颈从”写代码”转移到了”验收”和”美术资产的后处理”。
对想动手的人,优先级建议是:先花半天把 Unreal MCP 连通(照着第八节的九条坑走,一次通),再花半天让 Agent 把玩法原型跑通 —— 这两步加起来一天,就能验证这套流水线的上限到底在哪。如果你想先理解”MCP 把专业工具接给 Agent”这件事的通用形态,可以把 REA 逆向一切 MCP 实测 也一起读了,那是同一条思路在逆向工程方向的落地;Codex 本身的迭代节奏可以看 Codex 半年更新盘点,模型侧的底层逻辑则可以对照 AI 大模型底层逻辑拆解笔记。
欢迎在评论区说说:如果让你只保留这条流水线里的一个环节,你会留下哪一步?或者你已经在用 MCP 驱动过什么工具,欢迎分享踩坑经历。