CDN + Addressables
CDN + Addressables
Addressables系统会在以下方面帮助改进您的项目
- 灵活性:Addressables使您可以灵活地调整资源托管的位置。您可以将资源文件直接打包到您的应用程序或设置按需下载它们。您可以在项目的任何阶段更改访问特定资产的位置,而无需重写任何游戏代码。
- 依赖管理:系统会自动加载任何资源的所有依赖关系,系统将内容返回给您之前已经加载完所有网格、着色器、动画和其他资源。
- 内存管理:系统提供方便的资源加载和卸载方法,自动计数引用并提供强大的分析器来帮助您发现潜在的内存问题。
- 内容打包:由于系统映射和理解复杂的依赖链,它可以有效地打包 AssetBundle,即使您移动或重命名资产。您可以为本地和远程部署准备资产,以支持可下载的内容并减小应用程序大小。
搭配 UOS CDN 使用
1.自行配置 Addressables Profiles
在 Addressables 中设置 Asset Streaming 服务的资源加载地址的方式:
打开 Addressables Groups, 点击 Profile 的 Manage Profiles,打开 Addressable Profiles 界面,将 Remote 选为 Custom,并配置 Remote.LoadPath 为 UOS CDN 资源地址。
UOS CDN 资源的上传和管理可参考 CDN 示例教程,发布版本 (Release) 后可获得 UOS CDN 资源地址。
// 此为 Remote URL,需要将此处 [bucket id] 替换成 UOS CDN Bucket Id,[badge name] 替换成 Release Badge Name
https://a.unity.cn/client_api/v1/buckets/{BucketId}/release_by_badge/{BadgeName}/content/

2.通过 UOS CDN Package 里的 Set Addressables Profile 按钮配置

Set Addressables Profile 按钮的作用是什么?
- 会将 Addressables Profile 里面的 Active Profile 的 Remote Load Path 值设置为 {UOS.cdn_url}/
- 会在 Assets/AddressableAssetsData 目录下生成一个 cdnurl.cs 文件,内容如下
class UOS { public static string cdn_url = '...'; }通过这种方式,可以更新 cdnurl.cs 文件来改变 Addressables 的资源加载地址,从而减少 Addressables 资源打包的次数。
什么时候需要点 Set Addressables Profile 按钮?
- 初次使用时,要在选择好 bucket 之后,进行 Addressables 资源打包之前点击。
- 切换 bucket 或者 badge 之后,需要点击按钮,以更新 cdnurl.cs 文件。
- 切换 Addressables 的 Active Profile 之后,需要点击按钮,以更新 Active Profile 的 Remote Load Path 值。