Legacy Documentation: Version 2018.2 (Go to current version)
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

public static T Load(string path);

Parameters

pathPathname of the target folder.

Returns

T The requested asset returned as a Type.

Description

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

Returns the asset at path if it can be found otherwise returns null. Only an object of type T will be returned. 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 Assets/Guns/Resources. String names that include Assets and Resources are not needed. For example the loading of a GameObject at Assets/Guns/Resources/Shotgun.prefab does not use the folder names. Also, if Assets/Resources/Guns/Missiles/PlasmaGun.prefab exists it will be loaded using Prefabs/Missiles/PlasmaGun. If you have multiple Resources folders you cannot duplicate 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"); } }

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

Parameters

pathPathname of the target folder. When using the empty string (i.e., ""), the function will load the entire contents of the Resources folder.
systemTypeInstanceType 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. Only objects of type will be returned if this parameter is supplied. 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; } }

Did you find this page useful? Please give it a rating: