アセット管理docs.unity3d.com

UnityがAssetBundleの代替に「Content directories」を導入、ローカルコンテンツ分離でビルド短縮と重複排除

Unity →
この記事の要点

  • content directoryはPlayerビルドと分けて配布するローカルコンテンツ用のビルド方式で、AssetBundleの置換を目指す設計。
  • root asset(ScriptableObject)で含めるアセットを定義し、Loadable APIで同期/非同期にアセットの読み込み・解放が可能。
  • ローカル配布のみをサポートし、同一アセットが複数ビルドに含まれると各ビルドにコピーが作られる点に注意。
制作影響度86/100

アセット管理 3DCG

Playerとコンテンツを分離するcontent directory方式の導入

content directoryはPlayerビルドと別にローカル配布用のコンテンツを作る仕組みで、AssetBundleの代替として位置づけられる。ScriptableObjectのroot assetで含めるアセットを定義し、Loadable/LoadableSceneIdで必要なアセットをランタイムに読み込み・解放できる。ビルドは増分化され、同一ビルド内の重複は排除されるが、別ビルド間やPlayerとの重複は両方にコピーされる。

制作に効く変更点

  • Playerビルドとコンテンツビルドを明確に分離し、Player側は起動に必要な最小コンテンツのみを含める構成に変更
  • root asset(ScriptableObject)とLoadable系APIを用いることで、個別アセットの増分ビルドとランタイム読み込みを可能に
  • ビルド内での暗黙的重複排除を行う一方、別ビルド間やPlayerとの重複は各ビルドにコピーが残る仕様
制作フローの差分

変更前:従来はAssetBundleやPlayer内に直接アセットをまとめ、ビルド時にアセット割当やAssetBundle単位での依存解決と配布を行っていた。リモート配布やAssetBundle単位での読み込み・依存解決が前提の運用が多かった。

今回:Playerは起動に必要な最小コンテンツだけを含み、追加のゲームコンテンツはcontent directoryとして別ビルドし配布する。root assetで含めるアセットを管理し、Loadable APIで個別に同期/非同期読み込みやアンロードを行う。コンテンツは増分ビルドで差分のみ再構築される。

実務上の差:アセット管理単位がAssetBundleからroot asset/content directoryへ移り、ビルド対象を部分的に再構築できるためPlayerの再ビルドを回避してコンテンツ差分だけを更新可能になる。反面、ビルド間で同一アセットを参照すると各ビルドにコピーが作られる点が運用上の差分として生じる。

制作フローへの主要な影響点

ビルド時間と反復作業に影響する。頻繁に更新するコンテンツはcontent directory化すればPlayerを再ビルドせず差分だけを作成でき、アセットの増分反映が速くなる。一方で複数ビルドで同じアセットを使うとファイル重複が発生するため、どのビルドにアセットを置くか明確に管理する必要がある。Addressablesとの互換性があるため既存の整理ツールは活用できる。

主な対象:ローカル配布でコンテンツを分離して反復を速めたい開発チーム、Addressablesを利用しているプロジェクト

コンテンツ分割と増分ビルドの運用面

起動に必須の最小コンテンツをPlayerへ残し、頻繁に更新する素材はcontent directoryで管理して増分ビルドを活用する。アセットの参照先を一箇所に集約し、別ビルドへの不必要な重複を避ける運用設計が重要となる。

制約と互換性に関する注意点

content directoryはローカル配布のみをサポートする点と、root assetがScriptableObjectである必要がある点、BuildUsage APIが使えない点は本文で明記されている制約である。

公式情報

docs.unity3d.com:Introduction to content directories
元情報公開日:2026年8月29日