Unity可用的热更新方案

C#热更方案

ILRuntime

ILRuntime项目为基于C#的平台(例如Unity)提供了一个纯C#实现,快速、方便且可靠的IL运行时,使得能够在不支持JIT的硬件环境(如iOS)能够实现代码的热更新
掌趣公司维护

HybridCLR

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

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

Huatuo

Huatuo和HybridCLR是一体双生,可能是由于版权原因,huatuo版权归途游,原作者又新维护了HybridCLR这套热更方案

cshotfix

一个专门用于C#热更新的工具链,使用该工具链,你可以实现两点:
1、使用C#来编写脚本和进行热更新。错误修复过程几乎和正常写代码一样。
2、可以对已有的dll、exe进入错误修复。
3、可以新增功能,例如常用于游戏运营活动(注:新增功能是第三方脚本引擎功能)。
4、支持IOS、支持Android,支持mono打包方式、支持IL2CPP打包方式
5、第三方支持IOS的脚本引擎目前有ILRuntime、Scorpio-CSharp。

InjectFix

Unity代码逻辑热修复,可用于Unity业务的bug修复,支持Unity全系列,全平台。
几个亮点
直接在Unity工程上修改C#即可更新
老项目无需修改原有代码即可使用
每个游戏一份私有补丁格式,安全更有保障
腾讯公司维护

Lua热更方案

xLua

xLua为Unity、 .Net、 Mono等C#环境增加Lua脚本编程的能力,借助xLua,这些Lua代码可以方便的和C#相互调用。
腾讯公司维护

UniLua

UniLua是一个纯C#的Lua 5.2实现,专注于与Unity3D的兼容性。

tolua

slua

TypeScript热更方案

Puerts

puerts是游戏引擎下的TypeScript编程解决方案
提供了一个JavaScript运行时
提供通过TypeScript访问宿主引擎的能力(JavaScript层面的绑定以及TypeScript声明生成)
同时支持Unity和Unreal
腾讯公司维护

AS3热更方案

apple-juice-actionscript

.net2.0实现的ActionScript3 编译器和虚拟机。可以在任意支持.net2.0的平台上(例如Unity)执行ActionScript3脚本。为不支持JIT的环境提供动态更新脚本的功能。

猜你喜欢

转载自blog.csdn.net/t163361/article/details/125671882