ニュース

Top  >   7. Scene・Prefab・Asset管理  >   Q, アセットを後からダウンロードする仕組みを作りたい

Q, アセットを後からダウンロードする仕組みを作りたい

2026/03/18

メインコンテンツへスキップ
< すべてのカテゴリに戻る

A,結論

後からアセットをダウンロードする仕組みは、Addressables を使う構成が最も扱いやすいです。

原因 / 背景

  • Prefab やテクスチャ、音声などをビルド本体から切り離して、必要なときに読み込めるためです。
  • XR では初回容量削減とコンテンツ更新の両面で効果があります。

実装 / 手順

  1. 対象アセットを Addressable として登録し、ローカル配信かリモート配信かを決めます。
  2. 起動時にカタログ更新を確認し、必要なキーだけ非同期ロードしてください。
  3. 読み込み失敗時の再試行、進行表示、キャッシュ戦略も合わせて設計すると運用しやすくなります。

サンプルコード

using UnityEngine;
using UnityEngine.AddressableAssets;
using UnityEngine.ResourceManagement.AsyncOperations;

public class AddressablesPrefabLoader : MonoBehaviour
{
    [SerializeField] private AssetReferenceGameObject prefabReference;
    [SerializeField] private Transform spawnPoint;

    public void LoadAndInstantiate()
    {
        if (prefabReference == null)
        {
            Debug.LogWarning("Prefab reference is not assigned.");
            return;
        }

        prefabReference.InstantiateAsync(
            spawnPoint != null ? spawnPoint.position : Vector3.zero,
            spawnPoint != null ? spawnPoint.rotation : Quaternion.identity
        ).Completed += OnCompleted;
    }

    private void OnCompleted(AsyncOperationHandle<GameObject> handle)
    {
        if (handle.Status == AsyncOperationStatus.Succeeded)
        {
            Debug.Log("Addressables asset loaded successfully.");
        }
        else
        {
            Debug.LogError("Failed to load Addressables asset.");
        }
    }
}

※ 実機確認が必要な項目は、Editor だけで判断せず対象デバイスでも必ず動作確認してください。

難易度:Level 3(中級)
対象プラットフォーム:Android,iOS,Unity
関連キーワード:Addressables,アドレッサブル,リソース管理,動的読み込み

Level 3-5 向けバナー 1Level 3-5 向けバナー 2