Unity Auto Streaming 使用示例
接下来我们以 Boat Attack 游戏为例,介绍一个使用Auto Streaming的完整流程。( 2019.4分支和2020.3分支为原始工程,如果想跳过 步骤 2 并使用推荐勾选的条目,可切换到 2019.4-autostreaming分支或2020.3-autostreaming分支 )
在Unity中打开下载的Boat Attack工程,并在Build Settings窗口将Build target设置成为Android。
通过Window > Package Manager添加Project Auto Streaming package,成功添加后可通过Window > Auto Streaming打开Auto Streaming窗口。

配置Texture Streaming
- 点击Sync Textures;
- Ctrl+A 选择所有图片,勾选Placeholder;
- 点击Generate AssetBundles;
- 点击表头按生成的AssetBundle大小排序,取消勾选AssetBundle过小的图片(例如小于5KB,可使用Shift多选);
- 再次点击Generate AssetBundles清理不需要的AssetBundle;
点击Generate Placeholders。

配置Mesh Streaming
- 点击Sync Meshes;
点击表头按RT Mem大小排序,勾选RT Mem较大的资源(例如5KB以上)。

Addressable Assets重打包(未使用Addressable Assets系统可以跳过)
Boat Attack 游戏工程中,使用了Addressable Assets系统进行资源打包,因此需要在配置好Texture和Mesh Streaming后重新打包。步骤如下所示:
打开Addressables Assets窗口

清理原Addressable打包资源

重新打包Addressable资源

配置Configuration
- 勾选Use AutoStreaming选项;
- 输入COS Key以及相应的Project UPID,详情请参考配置页面;
- 点击Bucket to Use 最右侧的New,创建新的Bucket;
- 点击Badge to Use 最右侧的New,创建新的Badge;
- 点击Build via BuildSettings进入Build Settings窗口进行Build(如果切换了Platform,需要重新进行第二步的Texture Streaming操作);
- Build完成后点击Upload to CCD上传资源;

- 关于
Custom AB Assets的操作可以参考配置部分的内容。由于Boat Attack项目没有使用到AssetBundleBuild map,所以此处不需要操作。
结果运行和对比
在Android平台上运行上一步Build的结果。下图展示了一部分资源通过CCD服务上传到云端、并在游戏启动时从云端加载的效果。

您可以Build一份不使用Auto Streaming的游戏,对比前后两次的包体大小,可以发现使用Auto Streaming的Apk文件较小,达到了缩减包体的作用。

输出包体大小对比
- 未开启Auto Streaming:169MB (依 2019.4分支 中的配置)
- 开启Auto Streaming:60MB (依 2019.4-autostreaming分支 中的配置)