在 Unity 构建自动化中使用 Addressables

Addressable Assets 是具有唯一地址的资源,您可以使用该地址从本地或远程 AssetBundle 加载它们。

先决条件

在您可以在构建自动化中构建 Addressable Assets 之前,您必须

  • 通过以下方式将您的项目转换为使用本地 Addressables
  • 将更新后的项目提交到您选择的版本控制系统 (VCS)。

配置构建目标

如果您从新的构建自动化项目开始,则需要 首先创建一个新的构建目标

  1. 登录 Unity 云仪表板
  2. 选择**DevOps** > **构建自动化** > **配置**。
  3. 选择您要为其构建 Addressables 的构建目标。
  4. 选择**编辑**。
  5. 从**高级设置**选项卡中,选择**是,构建 Addressables**。

使用**Addressables**部分配置确定 Addressables 构建过程行为的属性。每个属性在工具提示中都有更详细的描述。

运行新的 Addressables 构建

要运行新的 Addressables 构建

  1. 完成 配置构建目标 中的步骤。
  2. 选择**保存并构建**。

启用云内容交付服务

要将 Addressables 上传到 云内容交付 (CCD) 服务,从构建自动化

  1. 从您的构建目标高级设置中,导航到**Addressables**部分。
  2. 选择**将 Addressables 上传到云内容交付服务**。
  3. 在**内容交付桶**下拉菜单中选择所需的 CCD 桶。
  4. 您的**内容交付 API 密钥**应该已经在其字段中填充。如果没有,请添加它。
  5. 要从选定的桶中自动创建一个 CCD 版本,请选择**从桶中自动创建一个云内容交付版本**。
  6. 选择**保存并构建**。

有关将 Addressables 与 CCD 结合使用的更多信息,请参阅 CCD + Addressables 演练

运行内容更新构建

内容更新构建会使用新的可寻址内容更新先前构建的播放器。

要更新现有播放器,更新构建需要一个内容状态文件。这会将更新构建中的内容链接到现有播放器。内容状态文件是在您进行 新的 Addressables 构建 时生成的。

要使用新的 Addressable 资源更新先前构建的播放器

  1. 单击**编辑 Addressables 资源选项**。
  2. 选择**是,构建 Addressables**和**进行内容更新构建**。
  3. 选择**仅进行内容构建**(除非您想生成另一个播放器)。
  4. 设置**内容状态文件位置方法**来定义构建自动化如何获取内容状态文件。
    构建自动化可以通过以下方式获取此文件。
    • 从源代码控制;在这种情况下,您必须指定路径。
    • 从先前成功构建 Addressables 的现有构建目标;在这种情况下,您必须指定目标。

构建自动化可以使用选定构建目标生成的最新的内容状态文件。

开始构建

配置构建目标后,要启动新的 Addressables 构建

  1. 导航到**构建自动化**,**构建历史记录**。
  2. 构建您已为其配置 Addressables 的目标。

当新的构建成功完成时,构建的更多菜单 (⋮) 会显示**下载 Addressable 资源**选项。

将 Addressables 内容从构建自动化复制到您的托管提供商

完成 Addressables 构建后,您可以将 Addressables 内容从构建自动化复制到您的托管提供商。您可以手动执行此操作,也可以使用构建后脚本。

手动复制 Addressables 内容

完成 Addressables 构建后,从更多菜单 (⋮) 中选择**下载 Addressable 资源**。下载内容后,您可以像在本地构建时一样将其上传到您的托管提供商。

使用构建后脚本复制 Addressables 内容

构建自动化支持在构建之前或之后运行自定义 shell 脚本。您可以创建一个构建后脚本,以便在构建成功完成时自动上传您的 Addressables 内容。

要启用构建后脚本

  1. 导航到构建自动化**配置**页面。
  2. 在您的构建目标上,选择**编辑高级选项**。
  3. 在**构建后脚本路径**字段中,输入脚本的路径。

以下提示可能对编写脚本有所帮助

  • 构建的 Addressable 内容位于 $WORKSPACE/.build/last/<BUILD_TARGET_ID>/extra_data/addrs/

  • 您可以在构建目标**配置**页面中设置用于密钥的環境變數。