アセットに含まれるプレハブとスプライトを使って、スライドショウを実行します。パッケージマネージャーを使ってAddressablesを導入します。Addressablesウィンドウで初期化を実施します。Addressablesウィンドウから設定を選び、インスペクターで設定します。Pathに設定します。Pathにカタログが生成されます。バージョンが指定されないと、代わりにビルド日時が使われます。古いカタログは自動的に削除されないので、ファイルが増えていきます。カタログは、実行時にリモートから読み込まれ、更新の有無が判定されます。カタログが作られていなかったり、正しいカタログが読み込めないと、アセットファイルが新しくなっていても更新は行われません。アプリとアセットが必ず同時に更新されるプロジェクトであれば、カタログは不要だと思われます。対して、アセットだけ更新される場合は、カタログが必要です。`RemoteBuildPath`と`RemoteLoadPath`を記入します。これらは、それぞれ、「アップロードするアセットファイルを作るフォルダ」と「アップロード先(=実行時に取得する)のURL」です。`[BuildTarget]`が、ビルドターゲットを表す文字列に置き換えられることで、ターゲット毎に異なるアセットに切り替わります。新しいラベル(タグ)を作ります。![SS-5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/365845/8fd6df3d-a4ec-a8cf-34db-719554380f4d.png)![SS-6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/365845/3b271e34-7b36-af81-9b3a-57c4fe12423e.png)これによって、アセットを一括ロードできるようになります。Addressablesウィンドウにグループを作ります。デフォルトグループは、コンテキストメニューから切り替え可能です。Assets`を選択して、インスペクターで設定します。Path`をリモートに設定します。グループにプロジェクトウインドウからアセット(ファイルまたはフォルダ)を追加します。フォルダを追加すると階層ができます。Addressablesに追加されたアセットには、マークが付きます。このチェックを外すと、Addressablesウィンドウからも消えます。逆に、Projectウィンドウで選んだアセットに対して、インスペクターでマークすることで、デフォルトグループに加えることも可能です。アセットや階層には、ラベル(タグ)を付けられます。Address)は元のパス名から自動で付けられます。これらのアドレスは任意に変更できます。Names`を実行すると自動的に短くできます。アセットや階層の名前は、Addressablesウィンドウでも、インスペクターでも変更可能です。アセットや階層は、ドラッグ&ドロップで、あるいは、コンテキストメニューからグループ間を移動できます。アセットは、`string`(名前、ラベル)、または、`AssetReference`(インスペクター経由)で特定します。以降の例では、`AssetReference`は使用せず、名前とラベルを使います。非同期に処理する必要があるので、コルーチンを使います。プレハブは個別の名前を、スプライトは一括してラベルを指定してロードを開始します。非同期ロードハンドルをチェックしてロードの完了を待ちます。ロードが成功したかチェックします。プレハブからオブジェクトを生成します。スプライトを順に表示します。[AddressableAssetsTest.unitypackage](https://github.com/tetr4lab/AddressableAssetsTest/raw/master/AddressableAssetsTest.unitypackage)[ソースはこちらです。公式ドキュメントが英語しかないようです。短期間に色々変わっているようで、ネットで調べた情報が実際と異なったりしました。設定をいじっていたら、Addressablesウインドウからアセットの一部が消えてしまって復旧できなくなる...ということが2度ありました。次回は「Addressablesを製品で使うとどうなるだろう」というテーマになると思います。具体的な製品プロジェクトの予定が立ったら進展すると思います。Systemの仕組み](https://qiita.com/yukiarrr/items/2e2b21530600ccf18f70)どうもありがとうございました。