Unity资源管理框架Addressables[五] 构建

本文致力于总结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:构建性能数据

相关推荐
winlife_6 小时前
Unity 域重载会清空一切:Editor 工具如何让状态在重载后续命
unity·游戏引擎
小贺儿开发8 小时前
Unity3D 串口通信上位机联调系统
unity·串口·协议·数据·通信·传输·互动
垂葛酒肝汤1 天前
Unity的UI扫光效果Shader
ui·unity·游戏引擎
mxwin1 天前
Unity Shader Alpha测试 · 模板测试 · 深度测试
unity·游戏引擎
Sator12 天前
unity解决粒子与物体接触时的硬边缘问题
unity·游戏引擎
程序员JerrySUN2 天前
Jetson边缘嵌入式实战课程第三讲:L4T 与 Jetson 系统架构
linux·服务器·人工智能·安全·unity·系统架构·游戏引擎
萌萌的提莫队长2 天前
Unity HDRP 渲染管线 Camera 输出到RenderTexture没有Alpha通道
unity·游戏引擎
winlife_2 天前
Unity Editor 工具不该用反射写组件字段:SerializedObject 在 4 个场景里非用不可
unity·自动化·游戏引擎
星河耀银海2 天前
Unity C#入门:变量的定义与访问权限(public/private)
unity·c#·lucene
郝学胜-神的一滴2 天前
中级OpenGL教程 005:为球体&平面注入法线灵魂
c++·unity·图形渲染·three.js·opengl·unreal