Resource.Load is not working

Hi Im new to unity and I am attempting to use the command resource.load, however, when running the game, it does not seem to work.

I am trying to have it to have a game object that would spawn in an explosion once it is about to be destroyed:

	void Destroy () {
		Debug.Log ("Health is 0");
		GameObject boom = Resources.Load ("Explosion",typeof (GameObject)) as GameObject;
		//use resource.load
		Instantiate(boom,this.transform);
		Destroy (this.gameObject);
	}

Yet it won’t spawn in anything. I made sure it is in the folder which I created as “Resources” and made sure that the spelling is correct.

Please help, I am not sure on what to do here.

The problem is the following : You instantiate an object, you attach it to the current gameobject, and you destroy the latter, destroying the children too (and thus, the instantiated gameobject)

void Destroy () {
     Debug.Log ("Health is 0");
     GameObject boom = Resources.Load ("Explosion",typeof (GameObject)) as GameObject;
     //use resource.load
     Instantiate(boom,transform.position, this.transform.rotation);
     Destroy (gameObject);
 }

As i read your code you are trying to create an explosion during game loop.

If that is the case, you should not load from disk/memory, but use a Prefab, and instiate the Prefab instead.

And if you are doing a lot of explosion’s during game loop you should consider Object Pooling, so you do not use performance heavy Instantiation, but just SetActive() approach.