I have some trouble finding out how I can load my character at the start of the level, instead of resetting the whole thing. The game mechanics are quite straight forward; don't touch the walls. If the player touches the walls, he "pops" (seeing as it is a balloon.) This is my current script: public class playerSpawner : MonoBehaviour { public Sprite charAlive, charDead; public AudioClip popAudio; void OnCollisionEnter2D (Collision2D col ){ if (col.gameObject.name == "dirtWalls") { AudioSource.PlayClipAtPoint(popAudio, transform.position); gameObject.GetComponent<SpriteRenderer>().sprite = charDead; StartCoroutine (Dead ()); } if (col.gameObject.name == "gooWalls") { gameObject.GetComponent<SpriteRenderer>().sprite = charDead; StartCoroutine (Dead ()); } if (col.gameObject.name == "grassWalls") { gameObject.GetComponent<SpriteRenderer>().sprite = charDead; StartCoroutine (Dead ()); } } IEnumerator Dead() { AudioSource.PlayClipAtPoint(popAudio, transform.position); // PLAYS SEVERAL TIMES yield return new WaitForSeconds(3/2); Application.LoadLevel ("untitled"); // LOAD LEVEL RESETS EVERYTHING, MAKE LOAD CHAR INSTEAD? } } How can I just respawn the player object instead of resetting the whole scene?