精通Unity-Skills批量操作:一条事务搞定 $ref 跨步引用与失败自动回滚

发布时间:2026/10/10 22:41:27
精通Unity-Skills批量操作:一条事务搞定 $ref 跨步引用与失败自动回滚
【免费下载链接】Unity-SkillsAI automation skills specifically designed for Unity项目地址https://gitcode.com/gh_mirrors/un/Unity-Skills点击查看免费下载Unity-Skills 是专为 Unity 设计的 AI 自动化 Skills 引擎让 AI 通过 REST API 直接操控编辑器。它的批量操作POST /skills/batch是效率神器一次 HTTP 请求、一条事务就能按顺序执行最多 50 个技能步骤并且支持用$ref跨步骤引用前面步骤的返回值配合?modetransactional事务模式实现失败自动回滚——全部成功才提交任何一步失败则整体撤销像数据库事务一样安全。为什么批量操作是 Unity AI 自动化的必修课 让 AI 逐个调用技能接口意味着 N 次 HTTP 往返、N 次唤醒 Unity 主线程稍慢且容易中途断档。而POST /skills/batch端点把 N 个技能调用合并为一次往返、一次主线程唤醒每个步骤仍走完整的单技能流水线参数校验、权限门、独立 Undo 组、审计日志安全不打折步骤数上限 50超过会被400 SEMANTIC_INVALID拒绝此时拆分调用即可每个步骤都有独立的statussuccess / error / skipped结果一目了然批量技能文档入口skills/batch/SKILL.md$ref 跨步引用让步骤之间接力传值 批量脚本中最常见的痛点第二步要用到第一步创建的对象。以往只能靠对象名查找而同名对象可能撞车。$ref的解法极其优雅——用 JSON 节点直接引用前面某个成功步骤的返回结果{ steps: [ {skill: gameobject_create, args: {name: Cube, primitiveType: Cube}}, {skill: component_add, args: {instanceId: {$ref: $0.instanceId}, componentType: Rigidbody}} ] }规则速览详见 SkillsHttpServer.BatchRefs.cs 实现要点说明语法{$ref:$N.path}N 为 0 起始的步骤序号$0表示整个结果$0.instanceId、$1.items[0].path表示其中的字段方向限制只能引用更早的步骤前向引用会失败失败即拒绝引用了失败步骤或不存在的字段该步骤以SEMANTIC_INVALID报错而不是静默取空值扫描范围只扫描结构化 JSON 参数不会误伤字符串里的$ref字样配合参数化{$param:name,default:X}可在请求体params中注入值且优先于$ref解析官方建议新建对象请通过$ref引用instanceIdUnity 6000.4 还有entityId而不是靠名字查找——同名已有对象可能优先命中这是批量脚本最常见的隐性 bug。事务模式失败自动回滚的要么全做、要么全不做 ️普通模式下continueOnError:false遇到失败会停止后续步骤已成功的步骤保留——这是快速失败。但当你希望整组操作要么完整生效、要么原样撤销时加上?modetransactional即可全有或全无任何一步失败所有已执行步骤通过 Unity Undo 机制逐一回滚响应返回status:rolled_back、rolledBack:true每个已执行步骤被标记为rolled_back前置拦截请求在真正执行之前就会做预检——continueOnError:true、未知技能、或可能触发域重载Domain Reload的步骤直接400拒绝绝不让事务半成品上路诚实提示边界会写磁盘资产Asset的步骤会标记rollbackReliability:partial因为 Undo 无法完全还原已落盘的资产写入——工具不会假装万无一失⚠️ 注意同一张图片在本文中已使用此处请忽略重复占位——实际排版时建议在此处引用编辑器窗口截图。先 dryRun 预演再 diff1 复查批量操作的最快安全姿势 ✅高手的三件套顺序一条命令都不用改只换 Query 参数?modedryRun校验全部步骤但不执行、永不停车。允许某一步引用稍后才创建的对象会附警告$ref参数只做结构性检查并返回refsValidated?modetransactional正式执行失败整体回滚?diff1追加净变更sceneDiffchanged / added / removed回滚后同样能生成最终 diff一眼看清这 50 步到底改了什么完整协议细节见 references/SKILL_FULL.md 与 protocol-error-codes.md。部分失败怎么办只补发失败步骤 非事务模式下若出现status:partial响应中的results数组会按index标明每一步的结局success步骤的修改已生效不要重发失败步骤的 Undo 已记录变更会被自动撤销skipped步骤从未运行——把修好的失败步骤 所有 skipped 步骤重新提交即可授权类响应MODE_RESTRICTED/CONFIRMATION_REQUIRED无论continueOnError如何设置都会中断整个批次并返回授权 token完成授权后再提交剩余步骤。另外批量事务与预览后提交batch_executeconfirmToken见 batch_execute.md是两套机制前者组合 N 个不同技能、无需 token后者提交一个已预览的批量操作、必须携带一次性 confirmToken。大任务返回jobId后用GET /jobs/{id}?wait秒长等待即可。动手前的资源清单 资源路径批量技能总纲$ref、事务、模式全解SkillsForUnity/unity-skills~/skills/batch/SKILL.md22 个批量技能参考文档目录SkillsForUnity/unity-skills~/skills/batch/reference/批量执行核心服务端实现SkillsForUnity/Editor/Skills/SkillsHttpServer.Batch.cs$ref 跨步引用解析实现SkillsForUnity/Editor/Skills/SkillsHttpServer.BatchRefs.cs批量执行器Undo 分组、事务围栏SkillsForUnity/Editor/Skills/BatchExecutor.cs完整技能协议参考SkillsForUnity/unity-skills~/references/SKILL_FULL.md一句话总结$ref解决步骤间传值transactional解决失败怎么办。掌握这两招你的 Unity-Skills 批量脚本就能像数据库事务一样稳。赞分享【免费下载链接】Unity-SkillsAI automation skills specifically designed for Unity项目地址https://gitcode.com/gh_mirrors/un/Unity-Skills点击查看免费下载相关推荐OpenCore Legacy Patcher老 Mac 装新系统的 4 步流程OpenCore Legacy Patcher老 Mac 装新系统的 4 步流程 App Store 里搜不到能下载的新版 macOS更新界面只会提示你换台操作系统固件驱动开发免费人声分离软件 UVR 5.6 完整教程三步拆出人声与伴奏免费人声分离软件 UVR 5.6 完整教程三步拆出人声与伴奏 Ultimate Vocal Remover简称 UVR5.6 是一款免费开源的图形界面工具音频处理人工智能zhenxun_bot批量操作事务日志记录操作详情以便回滚zhenxun_bot批量操作事务日志记录操作详情以便回滚 在使用zhenxun_bot进行批量操作时你是否遇到过误操作导致数据异常却无法恢复的情况事务日即时通讯后端创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考