教程Stefan VaskevichStefan Vaskevich

Kimi K3 + Unity CLI:AI 智能体做出的 10 款游戏

Unity 全新 CLI 让智能体能够编写、运行并检查正在运行的编辑器。Kimi K3 用 22 条提示、103 美元做出八款可玩的 Unity 游戏:完整配置、逐款数据,以及虚幻引擎为何落败。

Unity CLI 主视觉:重球撞碎石块塔,配文字 Unity CLI Create Games

本文中使用的工具

AI 智能体能自己在 Unity 里做出一款能玩的游戏吗?能,而且现在已经普通到可以直接量化了。Stefan 把十份纯文字的任务书和 Unity 全新的命令行工具交给 Kimi K3,然后就走开了。其中八份变成了可玩的 Unity 构建:合计 22 条提示、约 23 小时的无人值守智能体时间,以及 103.34 美元的 API token 费用。下面是完整配置、逐款数据,以及同一个模型在虚幻引擎上惨败的那部分。

模型会写 C# 已经不新鲜了,那件事它两年前就会。2026 年 7 月的变化在于:Unity 给了它一条运行这些 C#、观察运行中的游戏、并自行修正错误的通道,不再需要人类在中间来回转述控制台输出。

整套配置,一句话说完
安装 Kimi Code CLI → 安装 Unity CLI(一条 PowerShell 命令)→ 执行 unity auth login → 在 Unity 6 项目里加入 com.unity.pipeline → 用 unity editors running 确认 → 在项目根目录放一个 .mcp.json → 在该文件夹内以 max thinking 和 YOLO 模式启动智能体。十分钟搞定,零问题,除了模型 token 之外每一环都免费。
Kimi 不在 Unity 的客户端列表里,所以要手写 .mcp.json

unity mcp configure 支持 Claude、Cursor、VS Code、Codex、Windsurf、Cline、Zed 等十几种客户端,但目前还没有 Kimi,所以配置文件要自己写。把下面内容存成项目根目录的 .mcp.json,并把两处路径改成你自己的。

{
  "mcpServers": {
    "unitycli": {
      "command": "C:/Users/<you>/AppData/Local/Unity/bin/unity.exe",
      "args": ["mcp", "--project-path", "C:/Users/<you>/kimi-test"],
      "env": { "NO_PROXY": "*", "UNITY_NO_BANNER": "1" }
    }
  }
}

第三个参数就是 unity editors running 报告的那个项目路径。两处字符串对不上,智能体就什么也连不上。

观看全部十项测试

每一份任务书、每一个结果、每一组数字,都在 YouTube 上。

1. Unity CLI 到底改变了什么

Unity 在 2026 年 7 月 20 日发布了这个 CLI。它是一个自包含的 unity 可执行文件,能安装编辑器、解析项目版本、管理模块并处理登录。光这些对 CI 就已经很有用了。但对智能体真正重要的是它上面那一层。

CLI 管理 Unity
unity install、unity editors、unity open、unity auth login。JSON 与 TSV 输出,退出码 0 / 1 / 130,非交互式安装,服务账号鉴权。
Pipeline 包驱动 Unity
com.unity.pipeline 把运行中的编辑器变成自动化目标。unity command 列出它暴露的操作;任何静态方法加上 [CliCommand] 特性就能成为一条命令。
eval 深入 Unity 内部
unity command eval 用 Roslyn 编译 C# 并在编辑器主线程执行。不重新编译、不触发域重载,毫秒级返回,且由安全令牌保护。

有两个特性把这些拼成了一条智能体回路。输出是结构化的,模型拿到的是可解析的结果,而不是从控制台刮下来的文本。编辑器本身也是自描述的:不带参数运行 unity command 就会列出它当前暴露的操作,于是智能体在运行时自行发现能力边界,而不是照着一份写死的清单办事。

它为什么强过旧的 MCP 往返
常规的改一次、验一次循环最少也要好几秒:编辑、重新编译、重启、截图、阅读。而面对一个已经跑起来的编辑器, eval 的回答以毫秒计。把这个差值乘以本次测试中单款游戏 236 到 544 次的模型调用,它就不再是细节了。

2. 大约十分钟完成安装

1

先装智能体

Stefan 这里用的是 Kimi,所以它先装:从 Kimi 官网复制一条安装命令,然后执行 kimi login。CLI、桌面端和网页端共用同一个账号,视频里用网页端只是为了让聊天记录出现在画面上。换成任何支持 MCP 的智能体也一样可行。

2

安装 Unity CLI 并登录

终端里一行命令。Windows 上用 PowerShell:

$env:UNITY_CLI_CHANNEL='beta'; irm https://public-cdn.cloud.unity3d.com/hub/prod/cli/install.ps1 | iex

macOS 与 Linux 对应的是同一个 CDN 上的 curl | bash 一行命令。安装程序会自己写入 PATH,所以关掉窗口重开,再运行 unity auth login。浏览器会打开一个页面让你登录(用 Google 账号即可),终端随后提示已登录。

Unity 命令行工具文档页,展示 Windows PowerShell 的安装脚本
安装只有一行且自包含。不需要手动配置 PATH,全新机器上也不需要装别的东西。
3

在 Unity 6 项目里加入 pipeline 包

CLI 本身只负责管理 Unity。要让它和运行中的编辑器对话,项目里需要 com.unity.pipeline。用 Unity 6 建一个项目(本次测试是 6000.4.0f1),打开 Window → Package Management → Package Manager,按名称安装 com.unity.pipeline。在终端里, unity pipeline install 做的是同一件事。

这一个包同时带来 MCP 接口和 eval 支持。Unity 6.0 LTS 是最低要求,更老的版本不受支持。

从 Window 菜单打开 Unity 6 的 Package Manager 安装 com.unity.pipeline
Window、Package Management、Package Manager,然后按名称添加 com.unity.pipeline。终端方式一条命令即可。
4

确认编辑器可见

打开终端运行 unity editors running。它会列出 CLI 当前能看到的每个编辑器,包括进程 ID、版本和项目路径。你的项目出现在这里,最难的一步就过去了。

unity editors running 列出 kimi-test 项目及其进程 ID、Unity 版本与路径
Unity CLI v1.0.0-beta.3 看到了运行中的编辑器。项目路径从这里复制,MCP 配置必须与之完全一致。
5

把智能体指向它

受支持的客户端只需一条命令,例如 unity mcp configure claude。运行 unity mcp configure --list 可以查看名单:Claude Desktop、Claude Code、Cursor、VS Code、VS Code Insiders、Copilot CLI、Windsurf、Cline、Codex、Kiro、Trae、OpenClaw、Antigravity、Zed、Continue 以及 MCP Inspector。

Kimi 暂时不在其中,所以要把本文开头那段 .mcp.json 手动写进项目根目录。另外注意参数是 unity mcp configure --list,而不是 unity mcp list,后者会直接报错。

unity mcp configure --list 输出受支持的 MCP 客户端及其配置文件位置
十六种客户端一条命令自动配置。其余的(包括 Kimi)也只是一个手写的 JSON 文件。
在 VS Code 中打开的 .mcp.json,包含 unitycli 这个 MCP server 条目
全部配置就这些。command 是 unity 可执行文件,第三个参数是项目路径,文件名必须是 .mcp.json。
6

在该文件夹内启动智能体并测试连接

在项目文件夹里新建对话,或者直接在那里启动 CLI。Stefan 设置了 max thinking YOLO 模式(相当于 Claude Code 里跳过权限确认),然后让它测试连接。首次运行时,智能体会自己读取 .mcp.json 来搞清楚自己拿到了什么。

Kimi 读取 .mcp.json 并确认 Unity MCP 连接可用
第一次就连上了。从安装到第一条提示不到十分钟,没有任何排错环节。

3. 十份任务书、八款 Unity 作品,以及那些数字

每项测试都是一份纯文字任务书:没有参考工程、没有起始模板、只用基本体、不导入任何资源。每份任务书末尾都有一条验证要求,比如「说它能用之前,先真的玩一遍」或者「告诉我它没问题之前,先自己打几波」。后续提示都是视觉打磨和修 bug,而不是重做。

#作品驱动方式提示数耗时Token 输入 / 输出API 成本
01Stack TowerUnity CLI22 小时 17 分283k / 124k$9.16
02Spider WalkerUnity CLI31 小时 49 分359k / 157k$11.60
03Shader GardenUnity CLI32 小时 20 分370k / 162k$11.97
04Ping PongUnity CLI21 小时 34 分265k / 116k$8.57
05Cross RoadUnity CLI45 小时 08 分693k / 303k$22.38
06Beat PulseUnity CLI21 小时 36 分247k / 108k$7.98
07DemolitionUnreal MCP3约 7 小时未公布未公布
08Suika MergeUnity CLI34 小时 37 分565k / 247k$18.24
09NavMesh DefenseUnity CLI33 小时 40 分416k / 182k$13.44
10Fireworks NightUnreal MCP48 小时 38 分928k / 406k$29.99
Unity 合计(8 款)2223 小时 01 分3.20M / 1.40M$103.34

成本按 Kimi K3 API 价格重新折算(每百万 token:输入 3 美元、缓存命中 0.3 美元、输出 15 美元)。Stefan 实际用的是订阅制,更便宜;列出 API 数字只是为了让口径可比。

成功的那几款

Stack Tower 是第一项测试,也定下了基调:两条提示,一条搭建、一条提升视觉,结果直接可玩而且真的有意思。石板来回滑动,超出的部分被切掉、化作碎块坠落,塔越高颜色越循环变化。镜头略偏左,堆叠动画也朴素,但没人碰过其中任何一行代码。

在 Unity 中运行的 Stack Tower:霓虹色石板堆塔与分数计数器
第 01 项,两条提示,9.16 美元。Stefan 最满意的碎块坠落特效,从来没有被明确要求过。

Spider Walker 是最值得借鉴的一项。六足行走器没有动画片段、也没有 Animator:每条腿都用代码配合反向动力学摆位,脚落地后在身体移动时保持不动,步态按三足交替。要为一个自定义角色手工搭出这套东西,在任何引擎里都是一下午的骨骼工作。这里是三条提示、1 小时 49 分钟,其中两条还只是视觉打磨。

Unity 中的 Spider Walker,一个六足程序化 IK 行走器跨越方块地形
程序化 IK、三足步态、零动画片段。腿在极限位置会略微拉伸,再补一条提示就能修好。

Ping Pong 是十份任务书里最朴素的一份,却分量最重:Stefan 把一模一样的提示同时交给了另一台引擎上的另一个智能体,好让两边可以并排剪在一起。Unity 版两条提示、1 小时 34 分钟就回来了:暗底霓虹、每边一个强调色、球带拖尾、命中时有一下弹跳和轻微抖动,先得五分者胜。个别击中时还会闪出一个方块瑕疵。十项里第二便宜,8.57 美元。

在 Unity 中运行的霓虹 Pong:暗色球场上的青色与洋红球拍,球带发光拖尾
Unity 里两条提示。发光、命中光环和清晰可读的比分都没有额外追加提示就出现了。

Shader Garden 要求手写五个 CG 着色器且不使用 Shader Graph:溶解、全息、熔岩、卡通和波浪,外加一个普通光照球作对照。五个里成了四个。卡通着色器是失手的那个,而球体本来也不是卡通着色的好载体,所以任务书本身也有责任。智能体自定的检验标准很好:任何编译失败的效果都会显示成 Unity 的品红报错材质。

Unity 中的 Shader Garden,展示普通光照、溶解、熔岩与全息效果的球体
五个手写 CG 着色器,不用 Shader Graph。溶解、熔岩、全息和波浪都成立,卡通那个失手了。

Cross Road 是整组里最完整、也是 Unity 里最贵的一款。无尽循环的车道、每按一次键跳一格的小鸡、汽车、可以踩着漂流木过的河、有预警的火车轨道,还有一个不断前推的镜头,落后就会死。它第一遍就能玩,所以才值得再加两轮视觉打磨和一次修 bug:四条提示、5 小时 8 分、22.38 美元。

Cross Road 测试卡片,显示四条提示、5 小时 8 分、69.3 万输入 token 与 22.38 美元
任务书、成品和账单。这一款用掉 544 次模型调用,音效是后一轮补上的。

NavMesh Defense 证明了这组里最不华丽也最有用的一点。敌人在塔于运行时不断切割的 NavMesh 上真正寻路,全程没有脚本化路点;智能体在没有被告知任何路由规则的情况下,自己算出了绕过弯墙的最短路径。数值平衡一团糟,加农炮伤害奇怪,血条只有两像素高,但系统层是对的。

Unity 中运行的 NavMesh Defense,一波小怪沿蜿蜒路径寻路走向水晶
运行时被不断切割的 NavMesh 上跑着真正的 NavMeshAgents,没有脚本化路点。三条提示、13.44 美元换来系统层;数值平衡则需要人来花一下午。

没做到位的那几款

Suika Merge 是坦率的失败。合成水果的罐子在 3D 里看着还行,一切也都在动,但同级水果有时就是不合并,三条提示、4 小时 37 分也没修好。这是整组里最简单的概念,却成了 Unity 侧第二长的一次运行。

Unity 中运行的 Suika Merge,玻璃罐里堆满彩色球体,分数为 266
九个层级、物理堆叠、没有贴图。合并规则大多数时候会触发,而这正是交给智能体最难办的一类 bug。

Beat Pulse 用代码合成了每一个声部,工程里没有任何音频文件:底鼓、踩镲、贝斯和铺底,92 BPM,还有一个随之反应的可视化。音乐是有结构的,而不是随机噪音,这达到了任务书设定的门槛,但视觉部分一直很朴素,混音也没有限幅器。它是十项里最便宜的一次,7.98 美元。

Unity 中的 Beat Pulse,霓虹柱体围绕发光球体脉动,配有程序化音频 HUD
四个合成声部,零音频资源。这次会话还白白耗在九次幻影重编译超时上,而那些编译其实早已成功。

4. 虚幻引擎输在哪里

十项里有两项改用虚幻引擎的 MCP 来跑,模型相同、任务书风格也相同。它们是表格里最贵的两行,也正是另外八项留在 Unity 的原因。

最干净的证据其实不在那张表里。Ping Pong 用同一条提示跑了两遍:一遍走 Unity CLI,一遍走虚幻里的 VibeUE。同一个模型、同一份任务书、同一天。Unity 用了两条提示。虚幻那一遍要花多得多的时间和多得多的返工才到同一个位置,玩起来更卡一点,而且丢掉了任务书要的观感:哪儿都不发光,1080p 下比分看不清,胜利文字被中线切开,球拍细得只剩一条。

同一份霓虹 Pong 任务书在虚幻引擎里的结果:扁平蓝色球场、细球拍、毫无辉光
同一份任务书在虚幻里的结果。和上面那张 Unity 截图并排看:霓虹从没出现,而且花的时间还更多。

爆破场地本意是一次 Niagara 测试:一门加农炮,一堵砖墙、一座石塔和一间木棚,重型炮弹把它们打散,按键还能切慢动作。破坏物理做得不错,Niagara 特效却浓到看不见炮弹本身。这一项花了大约七小时。

虚幻引擎中的爆破场地,砖墙在炮火下炸成碎块
物理:不错。Niagara:不可用,也正是这一项跑了七小时的原因。这里用的是虚幻 MCP,不是 Unity CLI。

Fireworks Night 是整期视频里最贵的一次运行:4 条提示、8 小时 38 分、92.8 万输入 token、29.99 美元。它整夜运行,编辑器崩了三次,还得手动续跑。烟花本身效果不错,但湖面「倒影」根本不是倒影,只是方向反了的重复粒子,而这恰好是基于截图的自查最容易漏掉的那种问题。

Fireworks Night 测试卡片,显示四条提示、8 小时 38 分与 29.99 美元
一个场景、29.99 美元、三次编辑器崩溃。同样的模型、同样的提示方式,只是执行环境不同。
瓶颈是自查回路,不是模型
在 Unity 里,智能体写脚本、运行、读结果只需一次快速往返,而且在运行时还能查询实时数值,不只是看图。在虚幻里,它通过 MCP 驱动编辑器,靠截图检查自己的工作,这既慢,也会漏掉静帧藏起来的一切。同样的模型、同样的任务书,实际耗时约为三倍。代码优先的引擎更适合这种工作方式,这也和今年早些时候在 Godot 上发生的情况一致。
现在哪个模型或工具领先?去 Arena 看
Kimi K3 是开放权重模型,显存足够就能本地运行,而 Stefan 认为它的结果可以对标每 token 贵上数倍的模型。这类判断几周就会过时。盲测、社区投票的对比正是 TOP 3D AI Arena 存在的意义,而 排行榜 会告诉你今天谁领先。

这件事到底要花多少

八款 Unity 游戏 103.34 美元
按 API 价格算,每款可玩作品约 13 美元
23 小时智能体时间
无人值守;平均每款约 2 小时 53 分
总共 22 条提示
每款 2 到 4 条:搭建、视觉打磨、修 bug
配置不到 10 分钟
安装、登录、一个包、一个 JSON 文件

这十款没有一款是能上架的成品。数值失衡、HUD 难看、有一条合并规则始终没修好,塔防的数值还得人手重配一遍才谈得上能玩。但这些数字确实说明:一个小型 3D 想法的原型阶段,如今只值一顿饭钱和一个你根本不在场的下午,而引擎选择会让这个价格相差三倍。判断力、审美和数值平衡仍然归你。把系统层敲出来这件事,已经不必再归你了。

更多引擎内智能体的内容: Claude Code 加 Godot MCP 虚幻引擎 5.8 的原生 MCP 用本地 LLM 驱动引擎,以及 一天做完一整个 UE5 关卡

常见问题

Unity CLI 是什么?

2026 年 7 月发布的独立 unity 可执行文件,可以在终端里管理编辑器、模块、项目和登录。配合实验性的 com.unity.pipeline 包,它还能通过本地 API 驱动运行中的编辑器或开发版 Player 构建,而 unity command eval 能在该实例内编译执行任意 C#,无需重新编译,也不触发域重载。结构化 JSON 输出和固定的退出码约定,才是让智能体(而不只是人类)能用它的关键。

如何让 AI 智能体通过 MCP 连接 Unity?

受支持的客户端运行 unity mcp configure <client> 即可(Claude Desktop、Claude Code、Cursor、VS Code、Codex、Windsurf、Cline、Zed 等)。不在名单上的(包括 Kimi)就在项目根目录写一个 .mcp.json:command 指向 unity.exe 的路径,args 依次是 mcp、--project-path 和你的项目路径,然后在该文件夹内启动智能体。

需要哪个 Unity 版本?

com.unity.pipeline 需要 Unity 6.0 LTS 或更新版本。本次测试运行在 6000.4.0f1 与 Unity CLI v1.0.0-beta.3 上。从 Package Manager 安装该包,或运行 unity pipeline install,然后用 unity editors running 确认项目已出现。

这十款游戏花了多少钱?

八款 Unity 作品合计 22 条提示、约 23 小时无人值守智能体时间,按 Kimi K3 API 价格折算为 103.34 美元,平均每款约 13 美元、不到三小时。两次虚幻测试是异常值:Fireworks Night 一项就是 29.99 美元、8 小时 38 分,爆破场地约七小时。

为什么虚幻在这里表现更差?

瓶颈在智能体的反馈回路。Unity 里智能体写脚本、运行、读结果只需一次快速往返,还能查询实时数值;虚幻里它通过 MCP 驱动编辑器、靠截图检查结果,既慢又会漏掉静帧看不出的问题。重度使用 Niagara 的运行还在夜间让编辑器崩溃了三次。最清楚的一项是 Ping Pong:同一条提示跑了两遍,Unity 只用两条提示,虚幻走 VibeUE 花了多得多的时间和返工,做出来还是没达到任务书要的观感。

想亲自比较这些工具?来试试我们的3D AI竞技场。

Kimi K3 + Unity CLI:AI 智能体做出的 10 款游戏 | Top 3D AI