しっぽを追いかけて

ぐるぐるしながら考えています

Unity と猫の話題が中心   掲載内容は個人の私見であり、所属組織の見解ではありません

Unity の Addressables 使用し Google Play Asset Delivery に対応する

※ これは 2022/08/26 時点の Unity 2022.1.14f1 Addressables v1.20.5 Windows 11 の情報です

最新版では動作が異なる可能性がありますのでご注意ください

前回引き続きAddressables を使いつつ、今回は Android アプリでインストール時のダウンロードサイズを増やせるようになる Google Play Asset Delivery 対応をしてみたい

Google Play ストアには通常 150 MB までの .aab のアプリバンドルファイルしかアップロードできない

これが Google Play Asset Delivery に対応させると、.aab のアプリバンドルファイルに埋め込んですぐ使用できるようにしたとしても、アセットを 1GB まで増やすことができるらしい

まず Unity 公式 Addressables サンプルの GitHub リポジトリ を Clone する

Clone したリポジトリの中の Addressables-Sample/Advanced/Play Asset Delivery/Assets/PlayAssetDelivery を Unity プロジェクトの Assets 配下にコピーする

PlayAssetDelivery ディレクトリをコピー

次に Assets/AddressableAssetsData/AddressableAssetSettings.asset を開き、Build and PlayMode Scripts のリストに Assets/PlayAssetDelivery/Data/BuildScriptPlayAssetDelivery.asset を追加する

Build Script 追加

次に Addressables Groups のウィンドウを開き、Google Play Asset Delivery の 1GB 分に含めたい Addressables Group を選択、Add Schema ボタンを押下し、Play Asset Delivery を選択して追加する

Play Asset Delivery Schema 追加

この際に Content Packing & LoadingAsset Bundle ProviderPlay Asset Delivery Provider に変更し、追加した Play Asset Delivery の Schema の Asset PackInstallTimeContent (アプリインストール直後に読み込める設定)になっていることを確認する

Play Asset Delivery のプロバイダー設定

この Asset Pack は他に FastFollowOnDemand があるが、iOS との両対応を考えるとほぼこの二つは使えないので InstallTime だけ使うようにする

あとは .aab をビルドするための諸々設定

Player Settings の Other Settings にある IL2CPP を有効化することで ARM64 ビルドをできるようにする

IL2CPP

Player Settings の Publishing Settings にある Split Application Binary を有効化しアセットパックの分割ビルドできるようにする

Split Application Binary 有効化

最後に Build Settings ダイアログを開き、Build App Bundle を有効化してビルドする

Build App Bundle を有効化

これで 1 GB までのアセットを埋め込んだ .aab ファイルがビルドされ、そのまま Google Play ストアの Developer Console でアップロードできるようになった

ちなみにアセットの容量が 1GB を超えてしまうと Google Play Asset Delivery に対応しない内部構造になりアセットが読み込めなくなるので注意が必要