Unity热更新之HyBirdCLR+Addressables(一)

热更新的好处:避免重复打包,减小包体的大小,快速解决bug

环境搭建

vs使用2019以上版本,组件需要新增C++游戏开发

Unity下载

小编使用unity版本是2022.3.32f1c1

小编之前使用2021.3.23f1c1不知道为什么addressable在C#脚本中找不到命名空间,有知道这个问题的小伙伴也可以评论一下

unity版本添加下载WindowsBuildSupport(IL2CPP)模块

HyBirdCLR插件下载

HyBirdCLR官方地址:快速上手 | HybridCLR (code-philosophy.com)

注意:HybirdCLR与一般的插件不同,下载成功后,还需要手动点击安装,才代表真正的安装成功

点击unity顶部栏的Window->Package Manger点击➕,选择Add package from git URL,将下图中蓝色的的地址复制进去,下载。

下载成功后,unity顶部栏出现HybridCLR选项,选择第二个按钮Installer,

点击下方Install,当面板上的PackageVersion出现具体版本好后,代表真正的安装成功

Addressables插件下载

unity的Package Manger的Packages选择Unity Registry搜索Addressables,点击Install

修改环境配置

点击File->Player Setting->Player->Other Setting,找到Configuration,将ScriptingBackend修改为IL2CPP,Api修改为.NET Framework,Allow downloads over Http 修改为Always allowed

找到AddressableAssetSetting

修改里面的参数,勾选上Build Remote catalog,因为我们后续判断是否更新资源就是通过输出的catalog来的,buld&load paths还是选择remote(远程模式),勾选上only update catalogs manually

初始化Addressables,选择Addressables的Groups选项

点击创建

可以选择Rename,修改一下名字,因为热更新都是远程更新,因此一定要将Build&LoadPaths修改为Remote(也就是远程下载)

我这里修改了名字,添加了这个预制体的Cunbe进去

我们点击default build script,我们资源就打包出来呢,那么资源打包到哪里了呢?

在项目Assest同级目录下的SeverDate的对应平台的文件夹下,我这里圈出来的两个文件是我们上面勾选AddressableAssetSettings的catalog才产生的,对比就是靠这hash跟json

创建一个程序集Assembly Definiton

去掉程序集的自动引用

可以在程序集的同级目录下新建一个脚本,那么这个脚本就被当前程序集管理(比如Test脚本就被HotUpdate程序集管理)

点开HyBirdCLR的Settings,将刚刚创建的Assembly Definition添加到热更新的Assembly Definitions

点击HyBirdCLR->Generate->ALL,生成一下对应的dll文件

找到对应的dll文件,文件的具体目录是Assest的同级目录下的HybridCLRData->HotUpdateDlls->d对应平台的文件夹(我这里是PC,所以是StandaloneWindows64)->对应定义的名字

将Dll拖到unity文件夹中,必须在后缀加上.bytes才能被unity识别

本章就到这里了,下章接着讲讲

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值