hybridclr

hybridclr

Unity全平台原生C#热更新技术

HybridCLR为Unity开发者提供了一种高效的C#热更新解决方案。它通过扩展il2cpp运行时,实现了AOT和解释器的混合运行模式,支持动态加载程序集。这一技术适用于iOS、Android等所有il2cpp支持的平台。HybridCLR实现了大部分ECMA-335规范,支持多线程、MonoBehaviour和DOTS等Unity核心功能。它具有高性能和低内存占用的特点,同时还提供了创新的差分混合执行和热重载功能,为Unity开发带来了更多灵活性。

HybridCLRUnity热更新C#il2cppGithub开源项目

HybridCLR

license

logo

<br/> <br/>

HybridCLR是一个特性完整、零成本、高性能、低内存近乎完美的Unity全平台原生c#热更新解决方案。

HybridCLR扩充了il2cpp运行时代码,使它由纯AOT runtime变成AOT+Interpreter 混合runtime,进而原生支持动态加载assembly,从底层彻底支持了热更新。使用HybridCLR技术的游戏不仅能在Android平台,也能在IOS、Consoles、WebGL等所有il2cpp支持的平台上高效运行。

由于HybridCLR对ECMA-335规范 的良好支持以及对Unity开发工作流的高度兼容,Unity项目在接入HybridCLR后,可以几乎无缝地获得C#代码热更新的能力,开发者不需要改变日常开发习惯和要求。HybridCLR首次实现了将Unity平台的全平台代码热更新方案的工程难度降到几乎为零的水平。

欢迎拥抱现代原生C#热更新技术 !!!

文档

特性

  • 近乎完整实现了ECMA-335规范,只有极少量的不支持的特性
  • 零学习和使用成本。对绝大多数开发者来说写代码近乎没有限制。 热更新代码与AOT代码无缝工作,可以随意写继承、泛型反射之类的代码。不需要额外写任何特殊代码、没有代码生成
  • 完全支持多线程,包含但不限于 volatile、ThreadStatic、async Task等相关功能和特性。这是其他所有热更新方案都不支持的
  • 几乎完全兼容Unity的工作流。包括且不限于支持热更新MonoBehaviour、ScriptableObject、DOTS技术,资源上挂载的热更新脚本可以正确实例化,这是其他所有热更新方案都不支持的
  • 执行高效。实现了一个极其高效的寄存器解释器,所有指标都大幅优于其他热更新方案。性能测试报告
  • 内存高效。 热更新脚本中定义的类跟普通c#类占用一样的内存空间,远优于其他热更新方案。内存占用报告
  • 支持MonoPInvokeCallback,可以与native代码或者其他语言如lua、javascript、python良好交互
  • 支持一些il2cpp不支持的特性,如__makeref、 __reftype、__refvalue指令
  • 支持独创的 Differential Hybrid Execution(DHE) 差分混合执行技术,即可以对AOT dll任意增删改,会智能地让未改动的函数以AOT方式运行,变化或者新增的函数以interpreter模式运行,让热更新的游戏逻辑的运行性能基本达到原生AOT的水平
  • 支持 热重载 技术,可以100%卸载程序集
  • 支持现代的dll加密技术,有效保障代码安全

支持的版本与平台

  • 支持2019.4.x、2020.3.x、2021.3.x、2022.3.x、2023.2.x、6000.x.y全系列LTS版本
  • 支持所有il2cpp支持的平台
  • 支持团结引擎和鸿蒙平台

工作原理

HybridCLR从mono的 mixed mode execution 技术中得到启发,为unity的il2cpp之类的AOT runtime额外提供了interpreter模块,将它们由纯AOT运行时改造为"AOT + Interpreter"混合运行方式。

icon

更具体地说,HybridCLR做了以下几点工作:

  • 实现了一个高效的元数据(dll)解析库
  • 改造了元数据管理模块,实现了元数据的动态注册
  • 实现了一个IL指令集到自定义的寄存器指令集的compiler
  • 实现了一个高效的寄存器解释器
  • 额外提供大量的instinct函数,提升解释器性能

稳定性状况

HybridCLR已经被广泛验证是非常高效、稳定的Unity热更新解决方案。

当前发布了极其稳定的1.x-5.x正式版本,足以满足大中型商业项目的稳定性要求。 目前有数千个商业游戏项目完成接入,其中有几百款已经双端上线,上线的项目中包括MMORPG、重度卡牌、重度塔防之类的游戏。绝大多数头部游戏公司(如腾讯、网易)都已经在使用HybridCLR。

可查看我们已知的头部公司中使用HybridCLR并且已经上线的项目列表

支持与联系

关于作者

walonCode Philosophy(代码哲学) 创始人

毕业于清华大学物理系,2006年CMO金牌,奥数国家集训队成员,保送清华基科班。专注于游戏技术,擅长开发架构和基础技术设施。

license

HybridCLR is licensed under the MIT license

编辑推荐精选

堆友

堆友

多风格AI绘画神器

堆友平台由阿里巴巴设计团队创建,作为一款AI驱动的设计工具,专为设计师提供一站式增长服务。功能覆盖海量3D素材、AI绘画、实时渲染以及专业抠图,显著提升设计品质和效率。平台不仅提供工具,还是一个促进创意交流和个人发展的空间,界面友好,适合所有级别的设计师和创意工作者。

图像生成热门AI工具AI图像AI反应堆AI工具箱AI绘画GOAI艺术字堆友相机
码上飞

码上飞

零代码AI应用开发平台

零代码AI应用开发平台,用户只需一句话简单描述需求,AI能自动生成小程序、APP或H5网页应用,无需编写代码。

Vora

Vora

免费创建高清无水印Sora视频

Vora是一个免费创建高清无水印Sora视频的AI工具

Refly.AI

Refly.AI

最适合小白的AI自动化工作流平台

无需编码,轻松生成可复用、可变现的AI自动化工作流

酷表ChatExcel

酷表ChatExcel

大模型驱动的Excel数据处理工具

基于大模型交互的表格处理系统,允许用户通过对话方式完成数据整理和可视化分析。系统采用机器学习算法解析用户指令,自动执行排序、公式计算和数据透视等操作,支持多种文件格式导入导出。数据处理响应速度保持在0.8秒以内,支持超过100万行数据的即时分析。

AI工具使用教程AI营销产品酷表ChatExcelAI智能客服
TRAE编程

TRAE编程

AI辅助编程,代码自动修复

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

热门AI工具生产力协作转型TraeAI IDE
AIWritePaper论文写作

AIWritePaper论文写作

AI论文写作指导平台

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

数据安全AI助手热门AI工具AI辅助写作AI论文工具论文写作智能生成大纲
博思AIPPT

博思AIPPT

AI一键生成PPT,就用博思AIPPT!

博思AIPPT,新一代的AI生成PPT平台,支持智能生成PPT、AI美化PPT、文本&链接生成PPT、导入Word/PDF/Markdown文档生成PPT等,内置海量精美PPT模板,涵盖商务、教育、科技等不同风格,同时针对每个页面提供多种版式,一键自适应切换,完美适配各种办公场景。

热门AI工具AI办公办公工具智能排版AI生成PPT博思AIPPT海量精品模板AI创作
潮际好麦

潮际好麦

AI赋能电商视觉革命,一站式智能商拍平台

潮际好麦深耕服装行业,是国内AI试衣效果最好的软件。使用先进AIGC能力为电商卖家批量提供优质的、低成本的商拍图。合作品牌有Shein、Lazada、安踏、百丽等65个国内外头部品牌,以及国内10万+淘宝、天猫、京东等主流平台的品牌商家,为卖家节省将近85%的出图成本,提升约3倍出图效率,让品牌能够快速上架。

iTerms

iTerms

企业专属的AI法律顾问

iTerms是法大大集团旗下法律子品牌,基于最先进的大语言模型(LLM)、专业的法律知识库和强大的智能体架构,帮助企业扫清合规障碍,筑牢风控防线,成为您企业专属的AI法律顾问。

下拉加载更多