
用 Claude Opus 5.5 在 Unity 里做一款自己的游戏:完整实操课程
从空文件夹到能玩、能测、能打包的小游戏:把 Opus 5.5 接进 Unity 编辑器,六道关口逐步搭建灰盒关卡、游戏规则、敌人无人机、随机种子关卡与模型灯光音效,并用 Play mode 验证循环和 PlayMode 测试证明它真的在跑。
从一个空文件夹,到一个能玩、能测、能打包的小游戏:把 Opus 5.5 接进 Unity 编辑器,做出关卡和规则,加上敌人,导入你自己的模型和音效,并证明每一步都真的能跑。这是完整路线,规模控制在几个晚上就能做完。
今年秋天有两个项目证明了 Opus 5.5 在 Unity 里的实力。一位作者做了一款霓虹赛博朋克射击游戏,主角是他自己,四种敌人、三阶段 Boss、每局随机地图——全程没有打开过代码编辑器。另一位让 Opus 5.5 在一台游戏本上连续跑了 36 个小时,回来时得到一个 Old-school 风格的 MMO:六个可选种族、四张地图、一座满是 NPC 的城市。
两个项目都是真的,也都有关乎成败却容易被忽略的助力:数小时的准备、用于模型和音效的其他 AI 工具,以及一个在旁边盯着并随时纠正的人。本篇课程把整条路线压缩到几个晚上能完成的规模,覆盖:怎么连接、让项目不出事的习惯、五个最终拼成可玩切片的构建步骤、素材管线,以及如何正经地测试成果——最后这件事上 Unity 自己的工具意外地强。
哪些是真的,哪些不是
开始之前,先认真读一遍上面两个大项目。两者都值得学,但不是缩略图暗示的那种学法。
- 赛博朋克射击游戏。Opus 5.5 先规划游戏,然后驱动四个相互衔接的工具:Meshy 做 3D 模型、Blender 建城市、ElevenLabs 做音效、Unity 做游戏本身。它自己写了试玩测试和一个自动驾驶程序,完整跑了四局。它也把整座城市打成了薰衣草色,把湿滑的街道变成了"波光粼粼的海洋",还搞混了自己的动画数据,直到主角的双手穿过了自己的身体。作者一步步引导它。用他的话说,这不是一条神奇的提示词。
- 36 小时 MMO。开工之前,作者先花了数小时调研,生成了数百张参考图并挑出最好的,写了一份超大的需求文档,并把自己验证过的方法打包成技能。然后 Opus 5.5 同时运行约十个 agent,搭灰盒、试玩、迭代。成果令人印象深刻,也 openly 未完成:僵硬的动画、拿错的物品、一座断桥、一个失效的碰撞体。它用掉了一整周的用量额度。
教训和在 Unreal 里一样。Opus 5.5 能快速执行清晰的指令,也能自查相当一部分工作。但游戏看起来对不对、玩起来对不对、好不好玩,仍然是你的活;你的需求文档写得越好,后面每一步就越好。
三种连接方式,选哪个
Unity 不止一种连接方式,新手容易看花眼。下面把它们摆在一起对比。上面两个大项目用的是 MCP 路线;本课程用 Unity 官方插件,因为它的文件可读可查、出自引擎厂商自己,还自带一套能证明游戏真的在运行的方法。
你需要准备什么
- Unity 6 或更高版本,通过 Unity Hub 安装。现在 Hub 会顺手把 Unity CLI 一起装好。
- 装了 Opus 5.5 的 Claude Code。付费套餐上它是默认模型,可以用
/model确认。 - Unity 的 Claude Code 插件。免费安装,以 Unity Companion License 发布,同时收录在 Unity 自己的插件目录和 Anthropic 官方 marketplace。
- 版本控制。素材重的项目用 Git + Git LFS,或者 Unity Version Control。这不是可选项。
- 可选,为了好看:3D 模型生成器(如 Meshy 或 Tripo)、Blender、音效生成器(如 ElevenLabs)。也可以先用免费素材包,以后再上这些。
把 Opus 5.5 接进编辑器
第 1 步,创建项目。在 Unity Hub 里用 Universal 3D 模板新建项目。它使用 URP,即 Unity 当前的默认渲染管线。Unity 自己的技能说明里提到:旧的 built-in 管线模板自 Unity 6.5 起弃用,而混用管线正是材质变粉的原因。把项目纳入版本控制并做首次提交。想让 Claude 代劳的话,插件的 /unity:new-unity-project 技能会带着走一遍;它会在创建任何东西之前先问你的游戏、目标平台和版本控制方式。
第 2 步,在 Claude Code 里安装 Unity 插件。在 Claude Code 会话中执行这两条命令:
/plugin marketplace add Unity-Technologies/unity-agent-plugin
/plugin install unity@unity-agent-plugin
之后输入 /unity:,技能列表里应该就能看到它们。更喜欢终端的话,unity setup claude 执行同样两步;插件在 Claude Code 下次启动时加载,或执行 /reload-plugins 后加载。
第 3 步,检查 Unity CLI。打开终端运行 unity --version。如果找不到,Unity 文档给了一行式安装命令:macOS 和 Linux 用 curl -fsSL https://unity.com/install.sh | bash,Windows PowerShell 用 irm https://unity.com/install.ps1 | iex。之后打开一个新终端。也可以让 Claude 检查并安装,技能本身就写了这件事。
第 4 步,给项目加 Pipeline 包。CLI 通过一个叫 com.unity.pipeline 的小包和你打开着的编辑器通信。关掉编辑器,加一次:
unity pipeline install --project-path /path/to/RelayRun
第 5 步,打开编辑器并确认可达。
unity open /path/to/RelayRun
unity status
等到 unity status 报告编辑器就绪。如果开了多个编辑器,给每条命令都加 --project-path,让对的那个应答。
第 6 步,在项目文件夹里启动 Claude Code 并验证。在 Unity 项目所在文件夹启动 Claude Code,选择 Opus 5.5,发一条只读的提示词:
/unity:unity-cli Check that a Unity Editor is connected for this
project and report its state. Then, read only: name the open scene
and list its root GameObjects. Change nothing.
如果答案说出了你场景里真实存在的对象,就连上了。
另外两条路。AI Assistant 包里的 Unity MCP需要 Unity 6 加 com.unity.ai.assistant 包(目前 2.0 预发布版)。打开 Edit → Project Settings → AI → Unity MCP,确认桥接显示 Running。在 Integrations 里选你的客户端并点 Configure,Unity 会帮你写好连接条目。Claude 第一次连接时,同一设置页会显示 Pending Connection,批准即可。测试方法:让 Claude 读 Unity 控制台并总结所有警告和错误。
AI Game Developer(社区版)。命令行工具在 npm 上。装完后,官方 walkthrough 用三条命令搭好项目:建项目、装插件、打开。在编辑器里打开 Window → AI Game Developer,为 Claude Code 生成技能,然后重启 Claude Code 让它认到这些技能。
npm install -g unity-mcp-cli
unity-mcp-cli create-project ./RelayRun --unity 6000.3.1f1
unity-mcp-cli install-plugin ./RelayRun
unity-mcp-cli open ./RelayRun
选它之前要知道两件事:项目路径不能含空格;默认情况下它的登录会把你的 agent 链到项目官网上的托管端点。存在仅本地的模式,在意隐私的话先确认自己在用哪种。
安全网
Unity 的插件说得很明白:这些技能直接改你的项目。它们会编辑脚本、场景和素材,还能在你打开着的编辑器里运行 C#,而且不是每次改动都有记录、都能撤销。每次较大请求之前,先提交。
- 每一步能用了就提交。一批搞坏了,损失的只是几秒,不是一个晚上。
- 学习期间保持审批开启。社区 walkthrough 为了速度关掉了权限提示,并警告这意味着 Claude 可以运行任何东西,包括它读到的内容里夹带的命令。要关,只在一次性项目上关。
- 编译错误优先于一切。项目有 C# 编译错误时,Unity 会以 Safe Mode 启动,Pipeline 包不加载,Claude 根本连不上编辑器。
- Blender 的 MCP server 要当心。Blender 官方页面明说它不带任何防护地运行模型生成的代码,并建议用虚拟机或没有敏感数据的电脑。
怎么给 Opus 5.5 提 Unity 需求
默认用 medium 档努力程度,只有它反复搞错某个问题时才用 /effort high。然后遵守任何引擎都通用的六个习惯:
- 一条提示词一个系统。要么关卡,要么 HUD,要么一种敌人。
- 一条终点线。"完成意味着我能黑掉三个中继器并从门里走出去。"
- 一份"别动"清单。保护你已经验收过的东西。
- 一份报告。它创建或改动的每个脚本、prefab、场景。
- 不许静默绕路。工具缺失或步骤失败,它应该停下来明说。
- 要证据,不要声明。报告成功之前,先编译、进 Play mode、抓游戏视图、读控制台。
还有两个 Unity 专属习惯。让 Claude 通过连接着的编辑器干活,而不是手改场景文件:Unity 的技能倾向于前者,而手改场景文件会以很难察觉的方式坏掉。以及保持对话短:社区 walkthrough 发现上下文窗口过半之后质量下降,于是它在任务之间跑 /clear,并让每个 agent 只干一份活。
路线:一个小游戏,六道关口
贯穿本课程的示例借了射击游戏的创意,但规模小到能做完:第三人称庭院,你在无人机追杀下黑掉三个中继器,然后走到出口门。你能赢、会死、能重开,每局东西出现的位置都会洗牌。每个阶段都以一道关口收尾,关口由你亲自试玩来检验,每过一道关就提交一次。
构建 1:灰盒关卡和玩家
玩家操控是唯一值得提前给它一个起跑线的系统。Puget Systems 的 Unreal 测试里,一句含糊的"改一下玩家移动"直接把游戏弄得没法玩,返工还没修好。在 Unity 里最简单的起跑线是 Asset Store 里 Unity 免费的 Starter Assets – Third Person 控制器:导入、提交,然后让 Claude 围着它建。如果你更想让 Claude 自己写移动,就把需求写精确,像下面这样。
/unity:unity-cli Build a greybox level in a new scene called Courtyard.
Layout: a square courtyard about 40 by 40 metres, a raised walkway
along one side reached by stairs, three relay pads spread around,
and an exit door in the far wall. 1 unit = 1 metre.
Use primitives and plain URP materials only. No final art.
Add a third-person player who can walk, sprint and jump, with a
camera that follows over the shoulder. Use the Input System.
Done means: I press Play and can reach all three pads, the door
and the walkway.
Work through the connected Editor, not by hand-editing scene files.
When it compiles: enter Play mode, confirm frames are advancing,
capture the game view and read the console for errors.
Report every script, prefab and scene you created.
If something fails, stop and tell me. Don't work around it.
关口:自己玩一遍。走到每个中继台,爬上高架道,试着从边缘掉下去。提交。
构建 2:规则
Add the game rules. Don't move the level or change the player.
1. Standing on a relay pad for 5 seconds hacks it. Show a progress
ring while it uploads; stepping off pauses it.
2. A HUD showing "Relays 0/3" and the player's health.
3. The exit door opens after all three relays. Walking through it
shows "Run complete".
4. At zero health show "Run terminated". R restarts the scene.
Build the HUD with UI Toolkit.
Done means: hack 3, exit, win; take damage, die, restart.
Then write one PlayMode test that hacks all three relays and checks
the door opens. Run it and show me the result.
插件给每个 UI 框架都配了技能,/unity:ui 会挑对的那个。这么早就要测试是刻意的:一个守住核心循环的测试,能在以后每一批改动悄悄弄坏它时把钱赚回来。
关口:自己跑一遍循环,然后试着搞坏它:踩上再离开中继台、黑两个就去摸门、在黑掉过程中按 R。提交。
构建 3:无人机
射击游戏在大量铺垫之后,用一条提示词加了四种敌人和一个 Boss。先从两种开始,并给每种一个 预兆(tell):攻击前看得见或听得见的警告。那款游戏里,屋顶狙击手的激光开火前会闪,这就是玩家翻身躲避的提示。预兆让敌人显得公平。
Add two kinds of drone. Don't change the relays or the HUD.
Seekers hover, patrol between points, and fire slow orbs at the
player once they see them. Rollers chase the player on the ground,
beep faster as they close in, and explode next to the player.
Set up AI Navigation for the rollers and tell me what you added.
Every drone has health. The player gets a plasma pistol on the left
mouse button that damages them.
Every attack needs a tell — a glow or a beep — before it lands.
Done means: both types find me, can hurt me, and can be destroyed.
Verify in Play mode, then report what you created.
导航搭建用插件的 /unity:initialize-ai-navigation 技能,涵盖可走表面、agent 和障碍物。如果子弹穿过敌人或触发器不触发,/unity:physics-3d-collision 就是用来诊断这个的技能。
关口:和两种敌人各打到赢也各打到输。提交。
构建 4:每局都不一样
让射击游戏耐玩的是一个 种子(seed):一个决定所有东西出生位置的数字,每局因此不同,但任何一局都能被精确复现。可复现的关卡同时也意味着可复现的 bug。
Make each run different. At the start of a run, pick a seed and use
it to choose where the relays and drones spawn, from spawn points
placed in the scene. Show the seed in a corner of the HUD, and add a
debug field where I can type a seed to replay it.
Don't change how relays or drones behave.
Done means: two new runs look different, and the same seed gives
the same layout twice.
关口:开三局,记下一个种子,重放它。提交。
构建 5:模型、灯光和声音
现在游戏在灰盒里能跑了,可以花钱在好看上了。射击游戏的素材管线值得照抄,因为它把交接点画了出来——而 bug 都活在交接点上。
你的角色。射击游戏的作者把自己的一张照片交给 Claude,要一个赛博朋克跑者 A-pose 的全身概念图。Meshy 用这一张图在约四分钟内生成了带贴图的模型,然后绑骨、加动画。下面的提示词走的就是这条路;想换 Tripo 也行,检查项一样。
Turn concept.png into the player character.
Make a cheap preview first and show it to me before refining.
Keep the final model under 40,000 triangles.
Rig it as a humanoid with idle, walk, run, jump and shoot animations.
Import it into Unity with a Humanoid rig and swap it into the
existing player. Don't change movement, camera or controls.
If an animation looks wrong, compare its rest pose with the
original model before changing anything.
Report every asset you imported and changed.
最后那条指令来自一个真实 bug。射击游戏里,主角的双手一直穿过自己的身体。Claude 把每个动画片段和 Meshy 的原始模型逐一比对,找到了原因:它把每个动画的第一帧当成了角色的静止姿势。
关卡的外观。射击游戏的城市在 Blender 里按真实米数搭建,出生点、中继器、道具都放了隐形标记。导出时,每个道具都落在 Blender 里它站立的位置。这值得抄:在 Blender 里要命名好的空物体做标记,让 Claude 在 Unity 里把它们变成出生点,直接插进你的种子随机关卡。
灯光和特效用 /unity:urp-postprocessing,每次都要前后对比截图。这里要勒紧绳子:射击游戏的灯光调了五轮,因为整座城市 bloom 过量变成了薰衣草色。之后一次重新编译还把全部后处理设置无声地清掉了,所以视觉设置一旦满意就提交。
声音。射击游戏用 ElevenLabs 从文本生成了 77 个音效和一个机器人解说,再用音乐生成器做了四条曲子。有个坑值得知道:工具把原始音频存成了 .mp3 后缀的文件,Unity 读不了。Claude 发现了,把每个文件重新包成正经 WAV,还修了 15 个削波的。每次引入生成音频都要这道检查,然后用 /unity:audio-setup-mixers 路由声音——它会把分不了类的报告出来,而不是跳过。
关口:角色动画干净、没有装饰物挡住路或挡住射击线、场景一眼能读懂、声音该响时响。提交。
测试
测试是 Unity 工具真正闪光的地方,也是射击游戏找出大部分 bug 的地方。一共四层,每一层都能抓到前一层抓不到的东西。
第 2 层:证明游戏真的在跑。这层值得单独解释,因为它修掉一个你否则一小时内必踩的陷阱。Unity 在窗口失焦时会拖慢编辑器,而这正是 Claude 替你开车、你去干别的的场景。Play mode 可能因此冻在第一帧上,编辑器却仍报告"正在播放",而那一帧的截图看起来和活游戏一模一样。
Unity 的插件自带这个配方。简言之:失焦时保持编辑器计时、进入 Play mode、等编辑器报告就绪、证明帧计数器在动、抓游戏视图、读控制台错误、退出 Play mode。这些不用你手打,点名要即可:
/unity:unity-cli Use your Play mode verification loop on the
Courtyard scene: confirm frames are advancing, play for 20 seconds,
capture the game view, and list every console error and warning.
第 3 层:自动驾驶程序和真测试。射击游戏里最有用的一招,是让 Claude 自己玩游戏。它写了一个用玩家真实操控输入的自动驾驶程序,完整跑了四局。这几局找到一个玩家到不了的屋顶、九个卡住的地方,还有一个十一秒内没碰到玩家就死了的 Boss。更早的一次试玩测试在它自己的移动代码里找到了五个 bug。
先要清单,再让修,决定权在你:
Write a playtest autopilot that drives the player with the real
controls: visit every relay, hack it, fight whatever attacks, and
walk to the exit. Run it for five different seeds.
Report every place the player got stuck, anything it couldn't
reach, how long each run took, and every console error.
Don't fix anything yet. Give me the list first.
自动驾驶之外,给核心循环保留几个 PlayMode 测试。Claude 通过 Unity 的 test runner 跑它们:unity test --mode PlayMode,结果毫不含糊:全部通过退出码 0,跑了但有失败退出码 8,没跑出结论(编译错误、超时之类)退出码 6。
怎么报 bug。一份有用的报告包含种子、步骤、预期结果和实际结果,并先问原因再动手。种子最重要:它让 Claude 精确复现你看到的东西。
Bug, seed 48213: after the second relay, Rollers stop chasing me.
Steps: start a run with seed 48213, hack two relays, walk toward a Roller.
Expected: it chases. Actual: it sits still; no console errors.
Reproduce it with the autopilot first and tell me the cause.
Then fix only that, and rerun the PlayMode tests.
两次尝试失败就停。回滚到上一次提交,把问题拆小再问,或者只给这一个任务升一档努力程度。
构建并发布
编辑器不是游戏。真构建能抓到编辑器藏起来的问题,所以切片一能玩就做构建,并且玩构建,不玩编辑器。
Make a Windows build of RelayRun, run it, and report the frame
rate in the busiest spot. If it runs far above 60, cap it at 60.
List any errors in the player log.
射击游戏的第一个构建跑到 140 帧每秒,把笔记本显卡推到 81 °C,于是锁到了 60。作者还发现 Unity 用的是笔记本集显而不是独显,只有 29 帧每秒,而 Windows 一直无视这个设置。笔记本上性能不对时,先查 Unity 实际在用哪块显卡,再怪游戏。
成本、并行 agent 与排障
两个大项目用了多少。Opus 5.5 走 API 是每百万输入 token 4 美元、每百万输出 token 20 美元;订阅制下,长时间引擎会话会飞快消耗用量额度。36 小时 MMO 用了约 78.5 亿 token,几乎全是重复读取的缓存上下文,按 API 价约合 2,200 美元,外加一整周的用量额度。这之外还有 Higgsfield(素材生成服务)上约 7,000 积分,换了 300 个模型和 600 张图。射击游戏的角色和道具花了 900 多个 Meshy 积分。
保持 medium 档,只有遇到顽固问题才升档。三个习惯帮你按住成本和上下文:
- 先预览再精修。每个素材先出廉价预览,只精修那些方向对的。
- 保持上下文小。任务之间跑
/clear,关掉不用的连接器。Unity 的技能只在任务需要时才加载。 - 给实验上时间盒。先定好一个任务最多花多久,超了就回滚自己来。
同时跑多个 agent。MMO 同时跑了约十个 agent;社区 walkthrough 经常在同一个项目里开两三个 Claude Code 会话:一个做材质、一个砌墙、一个调相机。每个会话是独立的 agent,有各自的上下文。保证安全的规则是给每个 agent 不同的文件。Unity 场景是单文件,两个 agent 同时改同一场景或 prefab 会互相覆盖。按系统、脚本或独立场景分工,每轮之间提交。
一页卡片
这一切的最小可用版本是一个晚上:连上编辑器、建好灰盒庭院、加上三个中继器和出口、把自己做的关卡从开头玩到通关。之后的一切都是同一个循环,乘以更大的野心。整条路线一页纸:
- 通过 Hub 装 Unity 6。用 Universal 3D 模板建项目。提交。
- Claude Code 里:
/plugin marketplace add Unity-Technologies/unity-agent-plugin,然后/plugin install unity@unity-agent-plugin。 - 检查
unity --version。关掉编辑器跑unity pipeline install --project-path <project>。 - 打开编辑器,等
unity status说就绪。在项目文件夹启动 Claude Code,Opus 5.5、medium 档。发一条只读提示词。 - 按顺序构建:灰盒和玩家、规则、无人机、种子关卡、模型和声音。每道关口提交。
- 一条提示词一个系统,带终点线、"别动"清单、报告,不许静默绕路。
- 每批之后:能编译、真的在跑(Play mode 循环)、然后你亲自玩。
- 早点给核心循环写 PlayMode 测试。每道关口前要一次自动驾驶运行,先清单后修复。
- 报 bug 带种子、步骤、预期、实际。两次修不好就回滚。
- 早点做真构建,玩构建,在你在意的硬件上查帧率。
来源:X 用户 rewind(@rewind02)《How to Build your own Game in Unity with Claude Opus 5.5 (Full Course)》,发布于 2026-10-14。
原文来源:rewind (X)https://x.com/i/article/2109565585021390848
