这个项目能做什么
HybridCLR 是一个面向 Unity 的全平台原生 C# 热更新解决方案。它通过扩展 il2cpp 运行时,引入高效的寄存器解释器,将纯 AOT 运行时转变为 AOT+Interpreter 混合模式,从底层实现动态加载程序集,支持 Android、iOS、主机、WebGL 等所有 il2cpp 支持的平台。
核心特性包括:
- 几乎完整实现 ECMA-335 规范,仅极少量特性不支持
- 零学习成本:热更新代码与 AOT 代码无缝协作,支持泛型、反射、继承等,无需特殊代码或代码生成
- 完全支持多线程(volatile、ThreadStatic、async Task 等)
- 完美兼容 Unity 工作流:支持热更新 MonoBehaviour、ScriptableObject、DOTS 技术,资源挂载脚本正确实例化
- 高性能寄存器解释器,性能指标大幅优于其他方案
- 内存高效:热更新类与普通 C# 类占用相同内存
- 独创 DHE(差分混合执行)技术:未修改函数以 AOT 运行,变更函数以解释器运行,性能接近原生
- 支持热重载(100% 卸载程序集)、热修复(无需重启)、dll 加密
- 支持 MonoPInvokeCallback 与 Lua/JS/Python 等语言交互
已支持 Unity 2019.4 至 6000.x 全系列 LTS 版本,以及团结引擎和鸿蒙平台。数千商业项目接入,上百款 iOS 免费榜前 500 游戏采用,覆盖 MMORPG、重度卡牌、塔防等类型,国内头部游戏公司广泛使用。
项目采用 MIT 许可证,提供完整文档、快速上手指南、商业案例及商业化支持。作者 walon 为 Code Philosophy 创始人,清华大学物理系毕业。相关项目包括 LeanCLR(轻量级跨平台 CLR 实现)、ZLua、ZenTS、Obfuz 等。
评论
0 评分人数达到10人后显示
登录后参与讨论。