Addressablesの入門記事 で「アプリを更新せずにコンテンツを配信できる」と知り、アセットをAddressable化した。ところが、いざ「リリース後 にイベント衣装を追加したい」と思って手を止めます—— 配信って、どこから何をするんだ? ビルドしてみれば、Addressable化したアセットも結局ぜんぶアプリに同梱されている。差し替えても何も起きない。
種明かしをすると、Addressable化は配信の 準備 にすぎません。実際に「後から配信」を成立させるのは、 Remoteの置き場所設定・カタログ・更新ビルド という3点セットです。この記事では、イベント衣装を後日配信する題材で、この3点を一通り動かします。
この記事でわかること
- Addressable化しただけでは配信にならない理由(LocalとRemoteの違い)
- Build Path / Load Path の意味と、開発用・公開用URLの切り替え
- アプリと中身をつなぐ カタログ の役割と、起動時の 更新チェック の実装
- 変えてよいもの・凍結すべきものを分ける 更新ビルド(Update a Previous Build)
- オフライン時に遊べる範囲と、失敗時の見せ方
動作確認環境: Unity 6 (6000.x)・Addressables 2.x
Addressable化しただけでは配信されない
まず現在地を確認します。Addressableなアセットは グループ 単位で管理され、各グループには「ビルドしたバンドルをどこへ置き、実行時にどこから読むか」の設定があります。そして既定はすべて Local ——つまりビルドと一緒にアプリ内へ同梱され、実行時もアプリ内から読む設定です。

Localのままなら、入門記事 で学んだロードとメモリ管理の恩恵はすべて受けられますが、 中身はアプリの一部 です。リリース後に差し替えるには、ふつうはアプリを出し直します。「後から配信」を成立させる第一歩は、配信したいグループを Remote ——バンドルをサーバーへ置き、実行時にそこからダウンロードする設定——へ切り替えることです。
置き場所と取り先:Build PathとLoad Path
Remoteへの切り替えは、グループ設定の Build & Load Paths で Remote を選ぶだけです。これで、そのグループの Build Path(ビルド成果物を書き出すフォルダ)と Load Path(実行時に読みに行く場所)が、まとめてRemote用の値になります。値そのものは Profiles(Window > Asset Management > Addressables > Profiles)で一元管理されています。
- Remote.BuildPath: 既定は
ServerData/[BuildTarget]。ビルドすると、ここにバンドルとカタログが書き出されます。 このフォルダの中身を丸ごとサーバーへアップロードする のが配信作業です - Remote.LoadPath: アプリが読みに行くURL。例えば
https://cdn.example.com/mygame/[BuildTarget]。[BuildTarget]はプラットフォーム名(StandaloneWindows64など)に展開されるので、プラットフォーム別の置き分けが自動で効きます
そして実運用で必ず欲しくなるのが、 開発用と公開用のURL切り替え です。Profilesは複数作れるので、Development(手元の検証サーバーや http://localhost )と Production(本番CDN)の2つのプロファイルを用意し、ビルド前に切り替えるだけにしておきます。URLをコードに書かないことで、切り替え忘れ以外の事故がなくなります。
http:// のサーバーで確かめるときは、もう1つ設定があります。Unity 6 では Edit > Project Settings > Player > Other Settings の Allow downloads over HTTP が既定で許可されていないので、Allowed in Development Builds にして、Development Buildで確かめます。実機で試すなら、localhost ではなくPCのIPアドレスを書きます(実機の localhost は実機自身を指します)。
tips: 検証段階では、レンタルサーバーやクラウドストレージの静的ホスティングで十分です。要件は「HTTPでファイルが取れること」だけ——専用のゲームサーバーは要りません。
カタログ:アプリと中身をつなぐ目次
Remoteの仕組みの心臓部が カタログ(Catalog) です。カタログは「アドレス→どのバンドルのどのアセットか」を引くための 目次ファイル で、アプリはロード時にまずカタログを引き、必要なバンドルをダウンロードします。
