一个近乎完美的 Unity 全平台热更方案

Posted 非著名程序员

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个近乎完美的 Unity 全平台热更方案相关的知识,希望对你有一定的参考价值。

【公众号回复 “1024”,免费领取程序员赚钱实操经验】

大家好,我是章鱼猫。

今天推荐的这个项目是「HybridCLR」,是一个特性完整、零成本、高性能、低内存的近乎完美的 Unity 全平台原生 c# 热更方案。

HybridCLR 扩充了 il2cpp 的代码,使它由纯 AOT runtime 变成 AOT+Interpreter 混合 runtime,进而原生支持动态加载 assembly,使得基于 il2cpp backend 打包的游戏不仅能在 android 平台,也能在ios、Consoles 等限制了 JIT 的平台上高效地以 AOT+interpreter 混合模式执行,从底层彻底支持了热更新。

工作原理

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

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

  • 实现了一个高效的元数据 (dll) 解析库

  • 改造了元数据管理模块,实现了元数据的动态注册

  • 实现了一个IL指令集到自定义的寄存器指令集的 compiler

  • 实现了一个高效的寄存器解释器

  • 额外提供大量的 instinct 函数,提升解释器性能

  • 提供 hotfix AOT 的支持

开源项目地址:https://github.com/focus-creative-games/hybridclr

开源项目作者:focus-creative-games

推荐阅读

重磅推荐:一款基于 GitHub 的 Web 笔记应用

整洁架构代码模板推荐

手把手教你实现一个在线魔方

最近,章鱼猫建了一个「GitHub 精选交流群」,欢迎大家一起交流优秀开源项目,也可以宣传自己的开源项目,加我微信:loonggg1024,备注【GitHub】邀请你入群。

---特别推荐---

特别推荐:一个新的优质的专注分享各种浏览器插件、黑科技教程、各种你想不到的高效率软件及工具的公众号,「程序员掘金」,专注挖掘好东西,非常值得大家关注。点击下方公众号卡片,直接关注

以上是关于一个近乎完美的 Unity 全平台热更方案的主要内容,如果未能解决你的问题,请参考以下文章

HybridCLR——划时代的Unity原生C#热更新技术

Unity 接入 ILRuntime 热更方案

Unity 接入 ILRuntime 热更方案

如何评价腾讯在Unity下的xLua热更方案

如何评价腾讯在Unity下的xLua热更方案

unity 代码热更+资源管理框架总结