Version: 2019.1
Scripting API for packages
Project manifest

Accessing package Assets

This section explains how to access or refer to Assets that are defined inside a package:

Referring to package paths

To refer to Assets that are defined inside a package, use this path scheme:

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

The path of the Asset inside a package begins with Packages/ and the package name (not the [display name](upm-manifestPkg.html#display name)).

By contrast, you access Project Assets using this scheme:

"Assets/..."

For example, the path for the file image.png in the package subfolder /Example/Images of the com.unity.images-library package is:

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

Loading a Texture inside a package

To load a Texture stored inside a package, use the LoadAssetAtPath method and specify the path following the Packages/<package-name>/ path scheme as demonstrated in this example:

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

Resolving absolute paths

To get the absolute path of a packaged Asset, use the Path.GetFullPath() method. For example:

string absolute =   Path.GetFullPath("Packages/com.unity.images-library/Example/Images/image.png");
Scripting API for packages
Project manifest