unity 热更方案

1.ILRunTime热更

编写c#代码,通过解释器生成IL代码,

编译c#代码,ILRuntime提供一个工具ILRuntimeCLRBinding,将c#代码编译成IL代码,生成XMl绑定文件

将编译好的IL代码打包到游戏中,游戏启动时会加载IL代码,并解释执行。

2.Lua 热更

1.将资源打包成AssetBundle,并将打包的资源文件的MD5保存到一个文件里,并定义此次更新的版本号xx.xx.xxxo

2.将资源提交到资源服务器

3.客户端启动,从资源服务器取得版本号ver1,然后再读取本地资源的版本号ver2,比较ver1与ver2,如果ver1与ver2相等,直接进入游戏,否则从服务器下载MD5文件列表,然后读取本地的MD5文件列表,然后对比两个文件,找到MD5改变的文件。

3下载MD5文件改变的资源

4更新本地版本配置文件

5.进入游戏

unity热更有很多方案,各种lua热更,ILRuntime等,这里介绍的是YooAsset+HybridCLR的热更方案,HybridCLR负责更新c#代码,YooAsset负责更新资源。

流程就是将c#代码打成dll,然后把dll当做一个资源,用YooAsset热更dll资源之后,动态加载dll程序集,然后执行新逻辑

HybridCLR相比其他代码热更方案而言,纯c#方便开发,更加符合开发者习惯,更新的代码执行效率也更好

YooAsset热更资源,主要是省去了自己亲自管理ab包,ab包的管理挺繁琐,AssetBundle坑也很多,而且YooAsset有下载器,不用自己手写网络下载,也不用自己记录资源,比对资源列表来判定需要热更什么资源。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值