Files
ft/CodexOutput/upserver/UnityCliLoop迁移核对与裁决.md

4.7 KiB
Raw Blame History

Unity CLI Loop迁移核对与裁决

2026-09-21。用户要求参考D:/ft/ft/Client,确认当前项目是否可按相同方式替换UnitySkills。当前Unity处于用户提示的Reloading暂停阶段,本轮仅只读核对并落盘,不修改包清单、不触发导入、不控制Editor。

核对结论

可以迁移,建议复用参考项目已固定的本地包与批处理保护补丁。它只替换编辑器测试工具,不改变s101登录实现及验收范围;正式API仍为http://s101.local:18080/。

项目 参考项目 当前项目/本机
Unity 2022.3.62f2c1 相同
Unity CLI Loop包 io.github.hatayama.uloopmcp 2.2.0,本地包 当前manifest仍是com.besty.unity-skills,尚未安装ULoop包
CLI 文档固定2.2.0 实际uloop --version返回2.2.0
常驻对象 HierarchyService明确获取DontDestroyOnLoad根对象 现有UnitySkills常规场景缓存未显式纳入该特殊场景
依赖 ugui1.0.0、newtonsoft3.2.1 已具备;无需新增Input System

参考来源:D:/ft/ft/docs/uloop-codex-setup.md、Client/Packages/manifest.json、本地ULoop package.json/FT_PATCHES.md及HierarchyService.cs。包固定上游v2.2.0 / 1dbd4435e872a7f33904bb024062f2abb987eb12,补丁防止BatchMode和Asset Import Worker启动服务/重载恢复钩子。

文档差异:参考setup文档提到根目录.agents/skills/ft-unity和shared-uloop适配器,但此次实际路径不存在,不照搬该脚本命令。参考Client/.codex和.cursor存在另一套uloop技能;不整批复制这些代理配置。以本机uloop CLI的--help及本地包契约为准。

完整方案与开发边界

  1. 等待用户确认Reloading结束,先核对目标Editor状态;不强制杀进程、不清Library、不操作D盘参考实例。
  2. 复制参考项目的Client/Packages/io.github.hatayama.uloopmcp包到当前同路径,保留.meta、许可证及FT_PATCHES.md;不复制Library、.uloop运行缓存、会话或权限文件。
  3. 仅修改当前Client/Packages/manifest.json的工具依赖:移除com.besty.unity-skills,增加io.github.hatayama.uloopmcp本地路径,与参考项目一致。让UPM更新packages-lock.json,并检查锁文件差异只涉及工具依赖。
  4. .gitignore加入/Client/.uloop/,补充当前项目CLI操作说明/迁移静态检查入口。若存在UnitySkills自启脚本先核对差异再移除;本轮Assets/Editor检索未发现相关引用。历史测试脚本及证据保留,标记停用,不删除历史日志。
  5. 不复制D盘其他业务代码和完整manifest;不升级Unity、不新增Input System、不提高动态代码权限、不修改全局AI配置。编辑器相关改动不会扩大俱乐部、KV或PlayFab删除范围。

评审裁决:基于两个项目相同Unity版本、包依赖已满足、本机CLI版本匹配和本地补丁可复用,最小方案可行;开发边界限定工具包、manifest/UPM锁文件、忽略规则及操作文档。当前未实施。用户此前要求暂停Reloading期间的操作仍有效;恢复Editor操作前需解除该暂停。

迁移验收与后续测试

  • 每条CLI命令显式--project-path C:/projects/ft/Client,避免误连D:/ft/ft/Client。实际Unity.exe位于本机C:/Program Files/Unity/Hub/Editor/2022.3.62f2c1/Editor,不照抄参考文档D盘编辑器路径。
  • 先get-version、get-project-info确认当前项目、包版本及会话;再执行compile、get-logs检查导入结果,并核对批处理保护与移除旧包。
  • 验证get-hierarchy能看到DontDestroyOnLoad中的UI及设置/账号入口,再做截图和控件定位。
  • CLI提供simulate-mouse-ui,可用于EventSystem界面操作;真实可用性在当前项目接入后验收。simulate-keyboard/mouse-input依赖Input System,本次不为它们改变项目输入系统。
  • 缺少专用操作时,动态代码先放CodexOutput、评审其读写边界,compile-only通过后再执行相同文件;不提升安全级别来绕过限制。
  • 首先续测101退出再登录、101→102→101、失败重试及Cookie/SignalR隔离。当前仅确认工具能力与迁移可行性,不能保证自动解决Reloading或所有UI/真机测试。
  • 工具接入后更新验证入口及交接文档;UnitySkills旧实例失联证据保留历史。每小步骤写开发日志。

2026-09-21 实施补充裁决

用户明确要求移植Unity CLI Loop 2.2.0,Reload卡死已定向重启并确认恢复。允许开始上述方案;为避免打开Editor时复制半成品触发多次导入,先确认非Play/非编译/场景未脏,正常关闭C盘实例,在其关闭后复制本地包、修改工具依赖和忽略规则,再打开同一项目验收。D盘项目只读作包来源。此补充不授权清理Library或回退业务改动。