SuperAPI AI 工具集

unity-hybridclr

编程与开发

查看项目

更新于 10-15 17:25

技能介绍

用途:为 IL2CPP 下的 HybridCLR(原生 C# 热更新方案)提供编辑器侧自动化,涵盖设置读写、安装探测、热更程序集编译、预构建生成流水线,以及为 YooAsset 打包做产物暂存。

主要能力:环境类技能包括 hybridclr_status(唯一无需安装包即可运行的反射探测,报告安装、包版本、启用状态、脚本后端、热更与 AOT 补丁程序集列表及已生成产物)、hybridclr_install_status(il2cpp_plus 本地安装状态)、hybridclr_get_paths(解析各输入输出路径)。设置类有 hybridclr_settings_get 与 hybridclr_settings_set,后者写入 ProjectSettings/HybridCLRSettings.asset 并快照以便工作流撤销。诊断类 hybridclr_validate_setup 做预检并区分阻塞错误与建议警告。编译与生成类 hybridclr_compile_dlls、hybridclr_generate_all、hybridclr_generate_step 会在主线程长时间阻塞,风险等级高,需 Bypass 模式或用户白名单。产物类 hybridclr_get_hotupdate_dlls、hybridclr_copy_hotupdate_dlls、hybridclr_aot_generic_refs 负责列出、暂存与核对。模块不直接引用该包,全部经反射调用 HybridCLR.Editor 程序集,安装前后无需重编译或设置宏。

使用方式:典型流程为先 hybridclr_settings_set 配置,再 hybridclr_validate_setup 消除错误,运行 hybridclr_generate_all(会触发域重载),用 hybridclr_aot_generic_refs 取 patchedAOTAssemblyList 回填 patchAOTAssemblies,随后正常构建播放器。迭代热更只需 hybridclr_compile_dlls、核对后 hybridclr_copy_hotupdate_dlls 暂存到 Assets 下的 YooAsset 收集目录(扩展名改为可导入形式)。仅当 AOT 侧代码变化、增删热更程序集或发布新播放器包时才需重跑 generate_all。运行时加载代码需自行编写。

限制:需 com.code-philosophy.hybridclr(API 锚定 8.12.0)、IL2CPP 脚本后端、Unity 2019.4+(建议 2022.3+)。不提供安装技能,安装需在编辑器窗口或 batch 模式执行;无可取消的异步作业,长调用需提高客户端超时;数组设置参数为替换而非合并;generate_all 的撤销仅覆盖部分 Assets 侧产物,中间产物需重跑流水线。版本漂移时返回指明成员的 MISSING_PACKAGE 错误而非猜测。