Version: 2022.3
言語: 日本語
パッケージ用のスクリプティング API
スコープ付きレジストリ

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

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

ノート: 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"

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

パッケージ内に格納されたテクスチャをロードするには、using UnityEditor を必要とする LoadAssetAtPath メソッドを使用します。以下の例のように、Packages/<package-name>/ パススキームに従ってパスを指定します。

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

絶対パスの解決

パッケージ化されたアセットの絶対パスを取得するには、Path.GetFullPath() メソッドを使用します。以下はその例です。

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

パッケージ用のスクリプティング API
スコープ付きレジストリ