Version: 2019.4
LanguageEnglish
  • C#

Resources.Load

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Submission failed

For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

Declaration

public static T Load(string path);

Parameters

path Path to the target resource to load.

Returns

T The requested asset's Type.

Description

Loads an asset stored at path in a folder called Resources.

If an asset can be found at path, it is returned with type T, otherwise returns null. If the file at path is of a type that cannot be converted to T, also returns null. The path is relative to any folder named Resources inside the Assets folder of your project. More than one Resources folder can be used. For example, a project may have Resources folders called Assets/Resources and @@AssetsAssetsResources@@. The path does not need to include Assets and Resources in the string, for example loading a GameObject at @@AssetspathShotgun.prefab@@ would only require Shotgun as the path. Also, if @@AssetspathMissiles/PlasmaGun.prefab exists it can be loaded using GunspathPlasmaGun@@ as the path string. If you have multiple Resources folders you cannot duplicate the use of an asset name.

Note: Extensions must be omitted.
Note: All asset names and paths in Unity use forward slashes, paths using backslashes will not work.

// Load assets from the Resources folder.  Ignore other named and typed assets.
using UnityEngine;

public class ExampleClass : MonoBehaviour { void Start() { //Load a text file (Assets/Resources/Text/textFile01.txt) var textFile = Resources.Load<TextAsset>("Text/textFile01");

//Load text from a JSON file (Assets/Resources/Text/jsonFile01.json) var jsonTextFile = Resources.Load<TextAsset>("Text/jsonFile01"); //Then use JsonUtility.FromJson<T>() to deserialize jsonTextFile into an object

//Load a Texture (Assets/Resources/Textures/texture01.png) var texture = Resources.Load<Texture2D>("Textures/texture01");

//Load a Sprite (Assets/Resources/Sprites/sprite01.png) var sprite = Resources.Load<Sprite>("Sprites/sprite01");

//Load an AudioClip (Assets/Resources/Audio/audioClip01.mp3) var audioClip = Resources.Load<AudioClip>("Audio/audioClip01"); } }

Declaration

public static Object Load(string path);

Declaration

public static Object Load(string path, Type systemTypeInstance);

Parameters

path Path to the target resource to load. When using an empty string (i.e., ""), the function loads the entire contents of the Resources folder.
systemTypeInstance Type filter for objects returned.

Returns

Object The requested asset returned as an Object.

Description

Loads an asset stored at path in a Resources folder.

Returns the asset at path if it can be found, otherwise returns null. If the type parameter is specified, only objects of this type are returned. The path is relative to any Resources folder inside the Assets folder of your project, extensions must be omitted.

Note: All asset names and paths in Unity use forward slashes, paths using backslashes will not work.

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour { // Assigns a texture named "Assets/Resources/glass" to a Plane. void Start() { GameObject go = GameObject.CreatePrimitive(PrimitiveType.Plane); var rend = go.GetComponent<Renderer>(); rend.material.mainTexture = Resources.Load("glass") as Texture; } }
using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour { void Start() { // Instantiates a Prefab named "enemy" located in any Resources // folder in your project's Assets folder. GameObject instance = Instantiate(Resources.Load("enemy", typeof(GameObject))) as GameObject; } }