How to destroy and respawn the player after loosing a life?

I want to destroy the player object and reset it to the original position it was when the game start. I also want to display a game over screen after the live reaches zero.

public class ShipPlayerController : MonoBehaviour {

// wrecked into an enemy?
     if (other.tag == "EnemyShip") {
         if ( CurShield <= 0) {
         if( CurHealth <= 0) {



why destroy the player?
just move it back to the start position.
if you want to make an explosion or something, just move the player offscreen, it will save resources.


public Transform startLocation; //drag a empty gameObject into this on the inspector, then move the empty gameObject to where you want the player to "respawn"


if (CurHealth <=0){ 
//do some explody thing
//if you need to "hide" the player just use something like 
//transform.position = new Vector3(-999f,-999f,-999f);
transform.position = startLocation.position; // move the player to the position of the empty gameObject

also I see a lot of people naming their variables with a capital letter, while this is absolutely your own choice, its nicer to start with a lowercase letter and capitalise the second word(if there is one) not only does it look nicer, but you can avoid clashes with reserved words(sometimes). just a thought :slight_smile:

look at GUI options for the game over screen, there are some great tutorials available.
the code would be

if(lives == 0)
//display game over screen

but I guess you could work that our for yourself :slight_smile:

all the best with your game