-
配置Profile,分别配置本地开发地址和远程CDN地址
可以看到里面有个Default配置,这个可以留作参考;新建2个新的分别用作本地开发和正式发布;
-
本地开发Profile
重命名Local并把Local和Remote都配置成Built-In
-
正式发布Profile
把Remote配置成Custom;
BuildPath参考Default配置成 ServerData/[BuildTarget]
LoadPath配置成正真的CDN下载地址
-
右键Publish,设置成激活
-
开启AddressableSystem的Remote模式
-
配置Group
进入Assets\AddressableAssetsData\AssetGroups目录,选中要更新的组,然后Build&Load Paths改成Remote;
其中,Use Asset Bundle Cache 选项如果不勾选,发布客户端后,客户端每次运行都会从CDN上下载资源,一般都建议勾上(除非一些平台有自己的缓存机制,则不勾选)
- 发布整包:
-
构建Addressable的aa资源;
打开后再Build/New Build/Default build script
通常来说,构建Player时会自动构建AA资源(也可以配置关闭自动构建),这里演示一遍手动执行;构建的结果在工程的ServerData文件夹下(在Assets文件夹外部,Unity编辑器里看不到); -
构建游戏包
- 部署AA资源
进入ServerData/xxxxx目录,把里面的所有文件都上传(复制)到刚刚Profile配置的CDN上; - 备份addressables_content_state.bin文件
这个文件需要在每次发布整包时备份,手动备份或写脚本备份,用于后续发布更新内容;
- 发布内容更新:
- 恢复之前发布整包时备份的addressables_content_state.bin;
- 打开groups窗口;
-
执行检测
这一步可能导致groups分组发生变化,AddressableSystem的官方文档上说建议专门新建一个更新分支出来后再操作,每次内容更新都在分支上进行,等再次包更时丢弃(恢复到主干);
-
执行更新构建
- 部署AA资源
上传ServerData/xxxxx内的文件到CDN;可以全部上传并覆盖,也可以只上传有变化的文件;