Amazon10/19まで!プライム感謝祭開催中!セール会場へ

UnityのAddressablesの基本|Resourcesとの違いと読み込み・解放

UnityのAddressablesは、アセットを「アドレス」で読み込み、使い終わったら解放するための仕組みです。

Resourcesフォルダとの違いから、入れ方、読み込みと解放の基本までを、公式マニュアルで整理しました。

  • Package Managerから入れ、Addressables Groupsで設定を作る
  • アセットは、アドレス、ラベル、AssetReferenceのどれかで読み込む
  • 読み込みはすべて非同期
  • 読み込んだ数だけ、解放も必要

Addressablesの実機での再現は含まず、公式ページの記載(2026年9月30日に確認)に基づきます。

仕様や数値は変わることがあるので、最新は公式ページで確かめてください。

バージョンは、Addressables 2.3.16のマニュアルに基づきます。

目次

押さえておきたい最新仕様:Addressables 4.xのマニュアルとの違い

2026年10月12日(日本時間)に、Unity公式のAddressablesパッケージのマニュアルの最新版を見直したところ、表示されたバージョンは4.1.1でした。この記事の詳しい手順と画面の説明は、冒頭に書いたとおりAddressables 2.3.16のマニュアルに基づいています。

最新のマニュアルでは、次の点が確認できました。

  • Addressablesは、もともとUnityのAssetBundleの仕組みの上に設計されたもので、新しい「コンテンツディレクトリ」のシステムにも対応している
  • 「Choose a content build system」という項目で、コンテンツビルドを作るときに、コンテンツディレクトリかAssetBundleかのシステムを選ぶ
  • 目次には、パッケージの設定、Addressableアセットの作成と整理、ビルド、読み込み、リモートコンテンツの配信と更新、最適化ツール、既知の問題が並ぶ

そのため、この記事の中の「UnityのAssetBundlesの上に作られている」という説明は、現在のマニュアルでは「AssetBundleの上に設計され、コンテンツディレクトリにも対応する」と読み替えてください。画面の名前や手順は、使っているAddressablesのバージョンで変わることがあります。Package Managerで手元のバージョンを確認し、そのバージョンのマニュアルと照合してください。

Addressablesとは

公式の説明では、コンテンツを整理してパッケージにするツールと、実行中にアセットを読み込んで解放するAPIの組み合わせです。

  • アドレスでアセットを読み込める
  • アセットは、アプリの中に置いても、リモートから配信してもよい
  • メッシュ、シェーダー、アニメーションなどの依存関係を、自動で管理する
  • 参照カウントでメモリを管理し、プロファイリングの道具もある
  • UnityのAssetBundlesの上に作られている

Resourcesフォルダとの違い

Resourcesフォルダは、Resources という名前のフォルダに置いたアセットを、Resources.Load で読み込む仕組みです。

Resourcesの中のアセットは、ビルドに自動で含まれます。

Addressablesでは、アセットにアドレスを付けて、必要なときに読み込みます。

移行のガイドには、次の説明があります。

  • ResourcesのアセットをAddressableにすると、Resources_moved という新しいフォルダへ自動で移る
  • 既定のアドレスは、元のパスからResourcesのフォルダ名を除いたもの
  • Resources.LoadAll に直接対応するものはなく、ラベルで代わりにする
  • 解放の処理を、新しく追加する必要がある

Resources.LoadAsync を使っていた書き方は、次のように置き換えられます。

Resources.LoadAsync<GameObject>("desert/tank.prefab");
↓
Addressables.LoadAssetAsync<GameObject>("desert/tank.prefab");

Resourcesが非推奨かどうかや、起動時間への影響は、今回の公式ページでは確認できていないので書きません。

パッケージの入れ方

  1. Window > Package Manager を開く
  2. パッケージの一覧を「Unity Registry」にする
  3. Addressablesを選ぶ
  4. 右下の「Install」を押す

入れたあとは、Addressables Groupsのウィンドウを開き、「Create Addressables Settings」を選びます。

AddressableAssetsData フォルダができ、設定のファイルが入ります。

公式は、このフォルダをバージョン管理に入れるよう書いています。

Addressable Groupsウィンドウ

開き方は、Window > Asset Management > Addressables > Groups です。

列内容
Group Name / Addressable Nameグループの名前と、アセットのアドレス
Iconアイコン
Path元のアセットのパス
Labels付けたラベル
出典:公式ドキュメント(確認日 2026-09-30)

ツールバーには、グループを作るNew、ビルドと読み込み先を決めるProfile、Play Mode Script、Buildなどがあります。

アセットをAddressableにする

公式が挙げている方法は4つです。

  1. アセットのInspectorで、Addressableを有効にする
  2. InspectorのAssetReferenceのフィールドに、アセットを割り当てる
  3. Addressables Groupsのウィンドウで、グループへアセットをドラッグする
  4. Addressableに指定したフォルダの中に、アセットを置く

グループを指定しなければ、既定のグループに入ります。

あなたはどっち?ResourcesかAddressablesかの判定フロー

アセットの読み込み方法は、次の順で選びます。

  1. Resourcesフォルダに置いたアセットを、そのまま読み込めばよい:Resources.Loadの仕組みです。Resourcesの中のアセットは、ビルドに自動で含まれます。
  2. アセットにアドレスを付けて、必要なときだけ読み込みたい:Addressablesを使います。アドレス、ラベル、AssetReferenceのどれかで読み込みます。
  3. アセットをリモートから配信したい:Addressablesを使います。アセットは、アプリの中に置いても、リモートから配信してもかまいません。
  4. Resources.LoadAllのように、まとめて読みたい:直接対応するものはありません。ラベルで代わりにします。
  5. ResourcesからAddressablesへ移す:解放の処理を、新しく追加する必要があります。

Resourcesが非推奨かどうかや、起動時間への影響は、公式ページで確認できていないため、この記事では判断しません。

読み込みの基本

読み込みの方法は3つあります。

  • AssetReference:Inspectorに割り当てる
  • アドレスの文字列
  • ラベル:同じラベルのアセットをまとめて読む

読み込みはすべて非同期で、完了したときに結果を受け取ります。

公式の例は、次の形です。

handle = Addressables.LoadAssetAsync<GameObject>(address);
handle.Completed += Handle_Completed;

完了したときに、operation.Status が AsyncOperationStatus.Succeeded かどうかで成功を判定します。

解放を忘れない

公式は、読み込んだアセットは使い終わったら解放するよう書いています。

読み込みの呼び出しごとに、対応する解放の呼び出しを対にして、メモリリークを避けます。

参照カウントは、読み込みで増え、解放で減り、0になって初めてアンロードできます。

読み込み方解放の書き方
AssetReferencereference.ReleaseAsset()
アドレスまたはラベルhandle.Release()
出典:公式ドキュメント(確認日 2026-09-30)

複数を読むLoadAssetsAsyncや、InstantiateAsyncの解放は、今回確認できていません。

よくある質問:Addressablesで迷ったときのチェックリスト

Addressablesは、どのバージョンのマニュアルを見ればよいですか?

Package Managerで入れているバージョンのマニュアルを見ます。この記事は、2.3.16のマニュアルに基づいています。2026年10月12日に確認した公式の最新版は4.1.1で、コンテンツディレクトリのシステムにも対応しています。

Addressablesは、どこから入れますか?

Window > Package Manager を開き、パッケージの一覧を「Unity Registry」にして、Addressablesを選び、右下の「Install」を押します。入れたあとは、Addressables Groupsのウィンドウを開き、「Create Addressables Settings」を選びます。

AddressableAssetsDataフォルダは、バージョン管理に入れますか?

入れます。公式は、このフォルダをバージョン管理に入れるよう書いています。

アセットをAddressableにする方法は?

公式が挙げている方法は4つです。アセットのInspectorでAddressableを有効にする、InspectorのAssetReferenceのフィールドに割り当てる、Addressables Groupsのウィンドウでグループへドラッグする、Addressableに指定したフォルダの中に置く、のどれかです。グループを指定しなければ、既定のグループに入ります。

読み込みは、同期でできますか?

読み込みはすべて非同期で、完了したときに結果を受け取ります。

読み込んだアセットは、解放が必要ですか?

必要です。読み込んだ数だけ、解放も必要です。参照カウントでメモリを管理しているため、使い終わったら解放します。

次に学ぶ・作業環境を選ぶ

学習を続けたい方や、作業環境を整えたい方は、目的に合うガイドをご覧ください。

Unityのおすすめ書籍

開発PCの選び方

周辺機器の優先度

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次