通过 CCD 缩减应用程序大小
为了吸引玩家下载您的游戏,一个好的做法是提供较小的应用程序初始大小,然后让玩家稍后根据需要下载新关卡和资源的文件。
本节使用一个示例项目来引导您将 CCD 和 Addressables 结合使用以缩减应用程序的大小。
缩减应用程序大小的过程摘要
缩减应用程序大小的过程摘要如下。每个步骤都将在本文档的后面部分展开。
- 安装 Addressables 和 CCD Management 包。
- 在 CCD 中配置一个存储桶。
- 为游戏创建一个新场景,或使用要通过 CCD 发送的现有关卡。
- 在 Unity 编辑器中配置您的资源。
- 设置脚本通过 Addressables 调用内容。
- 将新资源发布到 CCD Dashboard(CCD 后台)。
为了完成这些步骤,需要满足以下条件:
- Unity 编辑器 2019.4 或更高版本
- Addressables(最新版本;此示例使用版本 1.19.15)
- CCD Management(最新版本;此示例使用版本 2.0.1)
安装所需的包
首先,确保您已安装所需的 Addressables 和 CCD Management 包。
- 在 Unity 编辑器中,选择 Window(窗口)> Package Manager(包管理器)。
- 搜索 Addressables,选择版本 1.19.15+,然后选择 Install(安装)。
- 搜索 CCD Management,选择版本 2.0.1+,然后选择 Install(安装)。
在 CCD 中配置一个存储桶
在 Unity Gaming Services Dashboard(Unity 游戏服务后台)中创建和配置存储桶的步骤如下。
按照 CCD Dashboard(CCD 后台)的说明操作以访问 CCD 中的存储桶。
按照存储桶的说明操作以创建存储桶。
- 确保将 **Bucket write conditions(存储桶写入条件)**设置为 Open to all(向所有人开放)。
- 选择 **Environment(环境)**时,将其设置为 Production(生产)。
选择 **Create(创建)**以创建存储桶。
从存储桶列表中选择该存储桶。
选择 Upload Content(上传内容),然后从计算机上传任何文件。
此步骤仅用于创建和获取存储桶的 URL。创建初始发布版本后,即可删除该文件。
刷新页面,然后创建发布版本。
从 Releases(发布版本)选项卡中选择该发布版本。
选择 Addressable Remote Path URLs(Addressable 远程路径 URL)选项卡。
复制“Badge: Latest(标示:最新)”URL 供稍后在 Unity 编辑器中使用。
配置 Unity 编辑器
在 Unity 编辑器中进行以下设置以便继续执行缩减应用程序大小的过程。
- 转到 Window(窗口)> Asset Management(资源管理)> Addressables > Groups(组)。
- 如果您以前未使用过可寻址资源 (Addressable Assets),必须选择 Create Addressables Settings(创建 Addressables 设置)。
- 在 Addressables Groups(Addressables 组)窗口中选择 Profile(配置文件)> Manage Profiles(管理配置文件)。
- 选择 Default(默认)配置文件。
- 将 **Remote(远程)**设置为 Custom(自定义)。
- 展开 Remote(远程)字段,并将 Remote.LoadPath 设置为先前保存的 URL。
- 在 Unity 编辑器主窗口中,选择 Window(窗口)> Asset Management(资源管理)> Addressables > Settings(设置)。
- 启用 Build Remote Catalog(构建远程目录)。
- 将 **Build & Load Paths(构建和加载路径)**设置为 Remote(远程)。
准备场景
接下来,准备一个或多个场景以通过 CCD 进行加载。确保您至少有一个不同于初始关卡的场景。
创建场景的过程超出了此用例的范畴。请参阅 Unity 手册:场景文档了解更多信息。
在 Unity 编辑器 Project(项目)选项卡的资源中找到您的场景。
在 Inspector(检视面板)选项卡中,启用 Addressable(可寻址)。
或者,将场景从 Project(项目)选项卡拖动到 Addressables Groups(Addressables 组)选项卡的 Default Local Group(默认本地组)中。在 Addressables Groups(Addressables 组)选项卡中,右键单击该资源,然后选择 **Simplify Addressable Names(简化可寻址资源名称)**以便于阅读。
选择 Default Local Group(默认本地组)。
在 Inspector(检视面板)中:
- 将 **Build & Load Paths(构建和加载路径)**设置为 。
- 将 **Build Path(构建路径)**设置为 RemoteBuildPath。
- 将 **Load Path(加载路径)**设置为 RemoteLoadPath。
返回 Addressables Groups(Addressables 组)窗口,选择 Build(构建)> New Build(新建构建)> Default Build Script(默认构建脚本)。
如果以前运行过构建,则可以选择 Build(构建)> Update a Previous Build(更新以前的构建),然后选择该构建的 .bin 文件来更新构建。
比较构建(可选)
在此可选步骤中,一次使用场景来构建应用程序,另一次不使用场景来构建应用程序,然后比较两次构建的大小。在此测试应用程序中,大约有 30 MB 的大小差异。在具有更多关卡和资源的大型应用程序中,节省的大小会更大。
![]() | ![]() |
包含场景和资源的发布版本的大小(左)与不包含场景的发布版本的大小(右)。 |
配置脚本
在主场景(与项目一起构建的场景)中,确保添加用于加载下一个关卡的游戏按钮或事件。
为避免冲突,请务必从构建中排除通过 CCD 发送的任何场景。
您可以将以下示例脚本附加到游戏中的按钮。请务必在 Inspector(检视面板)中填写可寻址资源名称(在本例中为 sceneName)。
C#
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.SceneManagement;
using UnityEngine.AddressableAssets;
public class LoadSceneCCD : MonoBehaviour
{
public string sceneName = "";
public void LoadTargetScene()
{
Addressables.LoadSceneAsync(sceneName, UnityEngine.SceneManagement.LoadSceneMode.Single, true);
}
}
准备 AssetBundle 以便上传到后台
按照以下步骤准备要上传到后台的场景资源:
- 在 Unity 编辑器中,选择 Window(窗口)> Asset Management(资源管理)> Addressables > Groups(组)。
- 选择 Build(构建)> New Build(新建构建)> Default Build Script(默认构建脚本)。
- 构建完成后,在本地驱动器上转到项目文件夹,然后转到
ServerData\StandaloneWindows64
。请注意,此文件夹可能因构建的目标平台而异。 - 记下以 .hash 和 .bundle 结尾的文件。
上传到后台
上传您在最近构建的 .hash 和 .bundle 文件(在上一步中生成)。如果这是第一次上传,请选择并上传所有文件。
- 返回 CCD Dashboard(CCD 后台)的存储桶页面。
- 选择您创建的存储桶。
- 在 Latest(最新)选项卡的 Entries(条目)下,选择 Upload Content(上传内容)选项卡。
- 浏览并选择在上一步中构建的文件。
- 选择 Upload Files(上传文件)。
- 上传完成后,选择 Refresh Page(刷新页面)。
- 选择 Create Release(创建发布版本),为新内容应用 Latest(最新)标示。
测试构建
您可以单击会触发加载 CCD 场景的按钮或操作来测试您的构建。如果一切顺利,您的 CCD 场景应该在一小段延时后加载。您的构建应该只包含主场景,不包含要通过 CCD 加载的关卡,否则不会缩减应用程序的大小。