unity游戏热更新总结

1.利用反射来做Dll更新
这种方式只支持windows以及安卓这种支持JIT的平台,对于IOS就不适用了,IOS这种Full-AOT的平台不支持生成新的代码,因此这种热更方式很少用到。
 
2.利用lua来做更新
目前这种更新方式是主流,适用于所有平台,lua作为脚本语言,无须编译就能在各个平台运行,常用的lua热更框架有ulua、tolua、xlua、slua、cs2lua等,其中ulua作为开山鼻祖,早已停止更新,逐渐退出主流,最常用的应该还是xlua以及tolua,xlua不仅支持纯lua热更,还支持HotFix,平时开发用C#,出bug了就用lua替换,这种方式收到了广大开发者的欢迎,而且xlua有腾讯来维护,不用担心以后版本升级的问题,tolua作为ulua的继承者,也被广泛应用。cs2lua则是开发时使用C#,开发完就将C#代码转换成lua,这样一套游戏就有了C#和Lua两个版本。
 
3.ILRuntime
ILRuntime是掌趣科技开源的unity热更框架, 这个框架打破了C#不能做ios平台热更的规则,在ios平台中是以ILRuntime + DLL 的方式解释执行,当然是在IL2CPP下。有了这个框架,开发者只需使用C#这一种语言即可,而不用在C#和lua之间切换,但这个框架也是有很多坑的,在一些方面性能是不如lua的,Git上的贡献者也很少,暂时没有经过大量项目的考验,用的人还是比较少的。
 
4.C#Light
C#Light是框架作者开发的一种小巧的脚本语言,能在各个平台实现热更,但该框架早已停止维护,这种热更方式也已经淡出视野。
 
5.JSBinding+SharpKit
JSBinding + SharpKit 这种热更技术,他做了两件事情:
  1. JSBinding将C#导出到 JavaScript 中,让你可以用 JavaScript 写代码,就好像 lua 一样
  2. SharpKit将C#代码翻译成 JavaScript 代码。
因此,他可以 让你使用C#编译代码,之后一键转换成 JavaScript 代码并正常运行。使用这个方案,可以同时拥有 C# 版本和 JavaScript 版本的游戏。

转载于:https://www.cnblogs.com/IAMTOM/p/9494180.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值