本文致力于总结Addressables构建相关概念/工作流/注意事项,起到将官方文档的 构建 章节进行整合与精简的作用。
一.构建概述
播放器(Player)的概念:构建后产出的App。
构建分为构建可寻址内容和Player两部分,这两步骤可以一起执行也可以分开执行。
二.在Groups视图中构建可寻址内容
构建可寻址内容的产出是AB包,内容目录和运行时设置,构建内容是构建Player之前必须完成的步骤。
可通过组视图或脚本两种方式构建内容;使用组视图中Build菜单进行构建内容:

三.通过构建Player构建可寻址内容
通过构建Player构建可寻址内容需要 Unity 2021.2+。在低于Unity 2021.2版本中,必须将可寻址内容构建为单独的步骤。
可在AddressableAssetSettings文件中的Build页签下设置


与播放器一起构建可寻址内容时,即使没有修改任何资源,也会重建可寻址内容。这会增加构建时间,尤其是在大型项目中。最佳实践是将构建可寻址内容和构建Player分开构建。
四.资产依赖性概述
显示资产:因标记为可寻址,构建内容后,包含在AB包中的资源
隐示资产:如果可寻址资产A引用了B,则称B为A的依赖项;如果B是可寻址的,那么B将根据B所在的组的设置打包到与A相同或不同的包中;如果B不可寻址,那么B将打包到与A相同的包中,B称为隐示资产
如果包A1、A2、A3中的资源,引用隐示资产B,那么B的副本将包含在A1、A2、A3中。因此为了减少B的副本,应将B标记为可寻址资源,减少隐示资产
五.构建的产出
当构建可寻址资产时,系统会生成应用程序在运行时使用的各种文件。了解构建的产出出有助于优化项目结构、解决问题、管理资产交付。
工件(Artifact):构建后产出的所有文件。
大多数与本地内容关联的文件都位于Library/com.unity.addressables文件夹中

Player中包含的工件
在Player构建期间,Addressables 系统会将以下文件从Library/com.unity.addressables/aa/<AddressablesPlatform>目录复制到StreamingAssets
- 本地AB包:后缀为
.bundle的AB包文件。

settings.json:包含运行时使用的Addressables配置数据。

catalog.json:如果没有更新的远程目录可用,则用于在运行时查找和加载资源的内容目录。

link.xml:防止 Unity 链接器剥离资源使用的类型。

Player中不包含的工件
远程内容:远程AB包,目录
内容状态文件:addressables_content_state.bin文件用于内容更新构建,默认情况下,该文件位于Assets/AddressableAssetsData/<AddressablesPlatform>

诊断数据:Library/com.unity.addressables/AddressablesBuildTEP.json:构建性能数据
