https://www.hybridclr.cn/docs/other/businesscase
🔍 HybridCLR 核心概览| 项目 | 描述 |
| :--- | :--- |
| 核心能力 | 扩充 IL2CPP,使其从纯 AOT 运行时变为 "AOT + Interpreter" 混合运行时,原生支持动态加载程序集。 |
| 核心特性 | • 近乎完整的 ECMA-335 规范实现
• 零学习和使用成本:热更新代码与 AOT 代码无缝工作,脚本类与 AOT 类在同一个运行时内,可以随意写继承、反射、多线程(volatile、ThreadStatic、Task、async)之类的代码。不需要额外写任何特殊代码、没有代码生成
• 高性能寄存器解释器
• 高效的差分混合执行(DHE):智能识别代码变化,未改动的类和函数以 AOT 方式运行,变化的或新增的则以解释模式运行,让热更新的游戏逻辑的运行性能基本达到原生 AOT 的水平。 |
| 支持版本 | Unity 2019.4.x, 2020.3.x, 2021.3.x, 2022.3.x, 2023.2.x 等 LTS 版本。 |
| 支持平台 | 所有 IL2CPP 支持的平台,如 Android、iOS、Consoles、WebGL 等。 | ⚙️ 工作原理简介HybridCLR 借鉴了 Mono 的混合模式执行技术,为 IL2CPP 等 AOT 运行时额外提供了解释器模块。具体工作包括: 🛠️ 实践指南安装与初始化:通常通过 Unity 的 Package Manager 从 Git URL 添加 com.code-philosophy.hybridclr 包并进行初始化。 配置热更新程序集:在 Unity 中创建并指定需要热更新的程序集(Assembly Definition)。 编译与生成:使用 HybridCLR 提供的菜单功能(如 HybridCLR/Generate/All)进行必要的生成操作,并将热更新 DLL 放入 StreamingAssets 等特定目录以备加载。 加载与执行:在运行时,通过 System.Reflection.Assembly.Load 等方式加载热更新 DLL,并激活其中的类型和方法。
⚠️ 注意事项希望这些信息能帮助你快速上手 HybridCLR。如果在具体使用过程中遇到问题,查阅官方文档通常是解决问题的最快途径,遇到文档中未解决的疑难问题,可以到社区交流。
|