Skip to content

v2.9.1

Latest

Choose a tag to compare

@Besty0728 Besty0728 released this 16 Oct 21:27
· 5 commits to main since this release

v2.9.1 — 直接编辑预制体资产、运行时方法调用与场景验证、持续保存的 Console 日志

⭐ Highlights

  • 不放进场景也能改预制体:29 个新技能直接查询和修改 .prefab 里的节点、组件、序列化属性与引用;同一资产上的多步修改要么全部生效、要么一个都不保存,可以撤销,变体和嵌套预制体的连接保持不变。
  • 让 Agent 验证运行时行为:可以列出并调用组件或静态 C# 方法(支持重载、泛型、ref/out、Task 与协程),editor_run_scenario 把"调用 → 等待 → 断言"打包成一次验证;配套 Python 脚本能自动跑"编译 → 验证 → 修复"循环(最多 3 次)。
  • Console 日志不再丢:日志持续保存并带时间,可以分页、按时间段查、合并重复项;Play 期间刷屏的错误也会被完整计数。
  • 更稳:编译结果绑定到"这一次"编译;所有请求统一在主线程处理;Python 客户端等待任务时不会连到别的 Unity 实例,也不会重复执行结果不明的写操作。
  • 感谢新赞助商 Mirasim:为即将发布的 v3.0 提供大量 API 额度支持。

Added

  • 预制体资产编辑(29 个技能):4 个只读查询;组件增删与启用、序列化属性与引用、节点创建 / 复制 / 删除 / 改名 / 换父节点、变换、激活状态、同级顺序共 12 组单项 + 批量技能;prefab_edit_batch 在单个资产上按序执行全有或全无的事务。参数与返回见 skills/prefab/ASSET_EDITING.md。
  • 组件与静态方法的发现和调用(4 个技能):component_get_methods(_batch)、component_invoke_method(_batch),记录返回值、异常、执行帧与日志;默认要求 Play Mode,调用本身不会进入 Play Mode,不进入承诺回滚的事务批次。
  • editor_run_scenario:调用、读取、等待与断言组合成一个异步验证作业,返回实际值与行为证据。
  • scripts/runtime_verification.py:编译验证、场景执行与调用方提供的修复回调,默认最多修复 3 次、总计 30 分钟;插件与脚本本身不调用模型。
  • Console 日志历史:持久化托管日志(UTC 时间),固定快照游标分页、类型 / 内容 / 时间窗口过滤、完整堆栈与覆盖缺口标记。
  • skill-creator 指南:在自己的工程里编写 [UnitySkill] 自定义技能。
  • 面板页脚 GitHub 按钮(三语 tooltip)。

Changed

  • console_get_logs:默认合并完全相同的重复日志(collapse=true),新增游标、时间窗口与完整性字段;source 的取值改为 history / capture_session。原有 type / filter / limit 用法不变。
  • console_export / console_get_stats:读取持久化历史,并报告有界保留是否截断(complete / dropped / truncated)。
  • debug_force_recompile:返回可追踪的 jobId 与 waitUrl。
  • 编译证据:脚本写入、asset_refresh 与强制重编译只采用自己触发的那一次编译结果;asset_refresh 的权限分类与 2.9.0 相同,Auto / Approval 模式下照常可用。
  • HTTP 主线程调度:GET 请求也在主线程处理,/health 新增若干主线程诊断字段。
  • Python 客户端:作业轮询固定原 Editor 身份;结果不明的写请求不自动重放。
  • 技能重名告警与卸载保留用户自己添加的文件。

Fixed

  • prefab_set_property:改由新的资产编辑引擎执行后,仍接受抽象基类作为组件类型、返回实际组件类型名,响应键与 2.9.0 相同。

Docs

  • 技能与模块计数、NeverInSemi 清单同步到 839 个技能 / 83 个模块文档;6 个技能的返回形状按代码修正;skill-creator 示例改用实际存在的 SkillOperation.Query。

Compatibility

  • Unity 2022.3+:CI 在 2022.3.62f1、6000.0.76f1、6000.2.11f1、6000.3.18f1、6000.4.12f1、6000.5.0f1 上 EditMode 全部通过,另在本机 2022.3.62f2 与 6000.3.9f1 完整回归。技能 805 → 839(+34),没有删除任何技能或参数。
  • 行为变化仅限上方 Changed 中列出的 Console 相关输出(默认合并重复日志、source 取值)。
  • Unity 6000.4+ 上旧的 instanceId 恒为 0:component_invoke_method 请用 entityId(或 path / name)定位对象;它返回的 Unity 对象同时带 entityId 与 instanceId。

完整更改日志见 https://github.com/Besty0728/Unity-Skills/blob/main/CHANGELOG.md