hatayama/unity-cli-loop

Let AI Drive Unity, from Editor to Play Mode.

Unity CLI Loop – 通过命令行进行AI驱动的Unity开发

它是什么 – 一个Unity包加上一个小的跨平台CLI(uloop),让大语言模型代理(Claude Code、Codex等)无需人工触碰编辑器即可编译、测试、编辑和控制Unity项目。它的工作原理是安装一个每项目“运行器”,与Unity编辑器内部的IPC服务器通信,暴露一组技能(例如/uloop-compile、/uloop-screenshot、/uloop-pause-point)。

为何重要 – 通常的Unity工作流程要求开发人员打开编辑器、点击构建、运行测试、读取日志并手动调整场景。Unity CLI Loop将最常见的步骤打包成LLM可以调用的CLI命令,从而实现了完全自动化的开发循环:编译→运行测试→读取日志→暂停执行→热重载代码→通过截图验证UI,全部通过语言模型提示完成。


核心功能(捆绑的21个技能)

类别 技能(示例)
开发循环 compile、run-tests、get-logs、clear-console、hot-reload、pause-point
编辑器自动化 launch、focus-window、get-hierarchy、find-game-objects、execute-dynamic-code、screenshot、set-game-view-size、record-video
PlayMode测试 simulate-mouse-ui、simulate-mouse-input、simulate-keyboard、replay-input、control-play-mode

这些工具有意保持极简;大多数其他编辑器操作可以通过execute-dynamic-code执行,它可以在正在运行的Unity进程中运行任意的C#片段。


快速开始(仅终端)

  1. 安装CLI – curl … | sh(macOS/Linux)或PowerShell irm … | iex。用uloop -v验证。
  2. 添加Unity包 – 在项目根目录运行uloop package install;它会注入OpenUPM注册表条目和io.github.hatayama.uloopmcp依赖。
  3. 启动Unity – uloop launch(聚焦已运行的编辑器或启动新编辑器)。
  4. 安装LLM技能 – 例如,Claude Code使用uloop skills install --claude,或使用--agents给读取.agents/skills的工具安装。

同样的步骤也可以通过Unity UI执行:Window > Package Manager和Window > Unity CLI Loop > Settings。


LLM如何使用它

LLM将技能命令作为shell指令发送。示例提示→技能映射:

  • “编译项目并告诉我错误。” → /uloop-compile
  • “运行单元测试并给我失败日志。” → /uloop-run-tests + /uloop-get-logs
  • “在Player.cs的第42行暂停并显示变量值。” → /uloop-pause-point
  • “玩家生成后拍摄Game视图的截图。” → /uloop-screenshot
  • “在没有完整重新编译的情况下应用这个方法体的修复。” → /uloop-hot-reload

由于CLI通过Unix域套接字(macOS/Linux)或命名管道(Windows)通信,因此不需要网络端口,多个Unity实例可以共存。


扩展工具集

开发人员可以通过在项目中放置Skill/SKILL.md文件(或shell脚本/C#片段)来添加自定义技能。CLI在启动时加载这些文件,任何可以访问技能目录的LLM都可以像内置技能一样调用它们。


安装说明和兼容性

  • 需要Unity 2022.3+。
  • 与任何可以执行shell命令和读取技能文件的LLM兼容(Claude Code、Codex等)。
  • 对于Claude Code,沙箱必须排除uloop *命令(请参阅README中的sandbox.excludedCommands示例)。
  • V3不再需要Node.js;每项目运行器会自动下载,并通过.uloop/project-runner-pin.json锁定版本。

许可证

MIT – 免费使用、修改和重新分发。


底线 – Unity CLI Loop将Unity编辑器变成一个无头、可脚本化的服务,LLM代理可以驱动它,使AI辅助的游戏开发循环变得实用且可重复。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目