【Unity】【Addressables】Unity2021.2からビルド時にAddressablesも自動ビルドできるようになった

Unity2021.2からビルド時にAddressablesも自動ビルドできるようになった話です。

Unity2021.2.3f1
Addressables 1.19.19

はじめに

今までのAddressablesではプレイヤービルド前にAddressableのビルドを走らせるスマートな方法がありませんでしたが、最近のバージョンアップでこの機能が追加されました。
これについては以下の記事の「Addressableのビルドを自動化する」節にもまとめましたが、改めて本記事にまとめます。

light11.hatenadiary.com

要件

この機能を実現するためにはAddressableアセットシステムに加えてUnityEngine側の修正が必要だったようで、これら両方のバージョンについて以下の要件があります。

  • Unity2021.2以上
  • Addressables 1.19.4以上

これら両方を満たしている場合に限りプレイヤービルド前にAddressablesをビルドできます。

設定方法

この設定はAddressable Asset SettingsBuild Addressables on Player Buildから行えます。

Build Addressables on Player Build

これをBuild Addressables content on Player Buildに設定するとプレイヤービルド前にAddressablesが自動的にビルドされるようになります。
逆にDo not Build Addressables content on Player Buildに設定すると従来通り自動ビルドが行われなくなります。

Use global Settings (stored in preferences)に設定するとPreferencesの設定値を参照します。

Use global Settings

古いUnityバージョンからのアップデート時の挙動

Unity2021.2以降で新しくAddressable Asset Settingsを作成した場合、デフォルトの設定値がUse global Settings (stored in preferences)になります。
そうなると古いUnityバージョンにおいて何らかの方法でAddressablesの自動ビルドを実現していた場合に、アップデートした時に二重でビルドされる恐れがあるのではないかと思い試してみましたが、古いバージョンからアップデートした場合にはDo not Build Addressables content on Player Buildになるようでした(問題ありませんでした)。

関連

light11.hatenadiary.com