YooAsset 热更使用教程
1. 资源包导入
这里注意。如果cn后缀没用,可以换com后缀
2. 资源打包
将需要打包文件夹放在非Resources
路径。怎么分文件夹按照项目自己区分。
打开
第一个 AssetBundle Collector
进行整理打包资源,
第二个 AssetBundle Builder
进行打包,
第三、第四个更高级用法,移步官方文档
2.1 文件添加

2.1.1 Global Setting
Show Packages : 是否显示包列表。(只有一个默认包时可不显示)
Show Rule Alias: 是否显示中文。
Unique Bundle Name:——————。
Enable AddressAble : 开启后可通过文件名直接加载资源。但必须保证文件名唯一。
Location To Lower: 资源地址全小写
2.2.2 几个按钮
FIx : 当项目文件结构变化移动后可修复 ab 包结构。
Export : 导出 AB 包结构为xml
Import: 导入 AB 包结构
Save : 保存AB包结构
2.2 AB包结构
等级如下: package–>Group–>File.
除此之外,还有个Tag。
tag
没有上下级关系。多个package 可以存在tag
相同的资源。
2.3 Build AB package

2.3.1 打包注意
1) 注意选择包名。如果有多个包的话。默认是 DefaultPackage
.
2) 选择build管线。 具体区分请移步官网。
---- 其他请看官网文档。
尤其注意 copy Buildin File Option 与Build Mode 两项。
3. YooAsset初始化
资源加载与热更,可借鉴官方案例,雷霆战机演示项目中的更新。
其中,需要注意:
-
YooAsset的更新操作多数为协程。
-
如果要修改热更新资源地址,可直接修改
FsmInitializePackage.InitPackage
方法热更新模式的地址 -
!!!!尤其注意,
FsmCreatePackageDownloader.CreateDownloader
这个方法 else 时应该切换状态机到下载文件状态。但是这里只加了注释,没加代码。需要添加_machine.ChangeState<FsmDownloadPackageFiles>();
4. YooAsset加载
通过如下代码加载:
private GameObject _templateGo;
YooAssets.LoadAssetSync<GameObject>(UIName.Test.TestImg).Completed +=
handle =>
{
switch (handle.Status)
{
case EOperationStatus.Succeed:
_templateGo = handle.AssetObject as GameObject;
break;
default:
Debug.LogError($"资源丢失「{UIName.Test.TestImg}」");
break;
}
};
这里是同步加载资源,其他加载方式参考官方文档。
UIName.Test.TestImg
为某个预制体文件名。