Version: 2023.1
言語: 日本語
パッケージ用のスクリプティング API
Scoped registries

パッケージアセットへのアクセス

このページでは、 パッケージ内で定義されたアセットにアクセスしたり参照する方法を説明します。

ノート: Package Manager はパッケージ内のストリーミングアセットをサポートしていません。代わりに Addressable パッケージをご利用ください。

パッケージパスの参照

パッケージ内で定義されたアセットを参照するには、以下のパススキームを使用します。

"Packages/<package-name>/..."

パッケージ内のアセットのパスは Packages/ とパッケージの name (display name ではありません) で始まります。

対照的に、以下のスキームを使用してプロジェクトアセットにアクセスします。

"Assets/..."

例えば、com.unity.images-library パッケージのサブフォルダー /Example/Images 内のファイル image.png のパスは以下の通りです。

"Packages/com.unity.images-library/Example/Images/image.png"

パッケージ内にテクスチャを読み込む

To load a Texture stored inside a package, use the LoadAssetAtPath method, which requires the using UnityEditor directive. Specify the path following the Packages/<package-name>/ path scheme as demonstrated in this example:

using UnityEditor;
// ...
Texture2D texture = (Texture2D)AssetDatabase.LoadAssetAtPath("Packages/com.unity.images-library/Example/Images/image.png", typeof(Texture2D));

絶対パスの解決

To get the absolute path of a packaged asset, use the Path.GetFullPath() method, which requires the using System.IO directive. For example:

using System.IO;
// ...
string absolute =   Path.GetFullPath("Packages/com.unity.images-library/Example/Images/image.png");

パッケージ用のスクリプティング API
Scoped registries