Unity项目中,热更新是一个不可或缺的重要模块,热更新简单解释就是在软件不重新安装的情况下进行版本迭代,它可以给用户的带来更号的体验感,目前市面上大部分联网应用都会在项目架构阶段考虑热更新方案。本文带来的是使用YooAsset插件实现简单的资源热更新,仅供参考!
YooAsset资源热更新步骤
YooAsset插件的安装方法在之前的文章中《unity资源管理方案-YooAsset的使用》
为了方便规范热更新的步骤,我们这里采用的是流程模式。
文末有完整的Demo工程
1.初始化资源包配置
本阶段是初始化YooAsset的设置参数,定义资源的路径信息和加载方式(离线,远程等),因为我们此处需要做资源热更,所以我们选择的远程资源模式,下面的代码就是指定了远程资源的网络路径等基本配置。
远程资源路径的测试可以使用第三方的本地服务器工具来实现,推荐nginx
/// <summary>
/// 初始化资源包裹。
/// </summary>
/// <returns>初始化资源包裹操作句柄。</returns>
public InitializationOperation InitDefaultPackage()
{
YooAssets.Initialize();
// 创建默认的资源包
var package = YooAssets.TryGetPackage(PackageName);
if (package == null)
{
package = YooAssets.CreatePackage(PackageName);
YooAssets.SetDefaultPackage(package);
}
var createParameters = new HostPlayModeParameters();
createParameters.DecryptionServices = new GameDecryptionServices();
createParameters.BuildinQueryServices = new BuiltinQueryServices();
createParameters.DeliveryQueryServices = new DefaultDeliveryQueryServices();
createParameters.RemoteServices = new RemoteServices(PackageName