My project has multiple sprites located in Assets\Sprites which I want to load using C# script.
I have tested this:
Sprite myFruit = Resources.Load <Sprite> ("Graphics_3");
But myFruit
is still null.
My project has multiple sprites located in Assets\Sprites which I want to load using C# script.
I have tested this:
Sprite myFruit = Resources.Load <Sprite> ("Graphics_3");
But myFruit
is still null.
Resources.Load are searching in the directory "Assets/Resources" That's why you need to do
or
with spritesPath as relative path. If you need to load all from folder "Assets/Resources/Sprites", you need to write only "Sprites".
after this you can just do the following:
or
I just used Resources.Load to load my sprite and found the result is Texture2D. So I Use Sprite.Create to create a new sprite with Textur2D to fix this problem.
You need to enter the full path for the asset. In this case, try using the path "Sprites/Graphics_3".
Resources.Load
will search for a directory inAssets/Resources
.If you want to put it to
Sprites
directory then put it insideResources
(ex.Assets/Resources/Sprites
).Then you can just load it like this:
Also make sure that you've set your image type to Sprite in the inspector.
If you want to load multiple sprites, use this:
See this for more details.
Place
awesome.png
inAssets/Resources/
(you can have subfolders), and use:http://docs.unity3d.com/ScriptReference/Resources.html
There's also LoadAll that "Loads all assets in a folder or file at path in a Resources folder."