title: Unity: Player Death on object collision
body: <p>I am extremely close to finishing my game, every code I posted works well but I want my player to die whether it collides with the box (which is the enemy). However, I've tried to do some research and I can't seem to find the solution. How do I do this? Here's the code for the Player (JugadorScript.cs):</p>
  
  <pre><code>using UnityEngine;
  using System.Collections;
  
  public class JugadorScript : MonoBehaviour
  {
  
      public float velocidad = -10f;
      void Start()
      {
  
      }
  
      // Update is called once per frame
      void Update()
      {
  
      }
      public void moverIzquierda()
      {
          transform.Translate(Vector2.right * velocidad * Time.deltaTime);
          transform.eulerAngles = new Vector2(0, 0);
      }
      public void moverDerecha()
      {
          transform.Translate(Vector2.right * velocidad * Time.deltaTime);
          transform.eulerAngles = new Vector2(0, 180);
      }
  }
  </code></pre>
  
  <p>The EnemySpawner.cs code, which works excellent:</p>
  
  <pre><code>using UnityEngine;
  using System.Collections;
  using System;
  
  public class EnemySpawner : MonoBehaviour
  {
  
      public GameObject BlockPrefab;
  
      float maxSpawnRateInSeconds = 2.5f;
  
      void Start()
      {
          Invoke("SpawnEnemy", maxSpawnRateInSeconds);
          InvokeRepeating("IncreaseSpawnRate", 0f, 30f);
      }
  
      // Update is called once per frame
      void Update()
      {
  
      }
      void SpawnEnemy()
      {
          Vector2 min = Camera.main.ViewportToWorldPoint(new Vector2(0, 0));
  
          Vector2 max = Camera.main.ViewportToWorldPoint(new Vector2(1, 1));
  
          GameObject anEnemy = (GameObject)Instantiate(BlockPrefab);
          anEnemy.transform.position = new Vector2(UnityEngine.Random.Range(min.x, max.x), max.y);
  
  
          ScheduleNextEnemySpawn();
      }
  
      void ScheduleNextEnemySpawn()
      {
          float spawnInNSeconds;
  
          if (maxSpawnRateInSeconds &gt; 1f)
          {
              spawnInNSeconds = UnityEngine.Random.Range(1f, maxSpawnRateInSeconds);
          }
          else
              spawnInNSeconds = 1f;
  
          Invoke("SpawnEnemy", spawnInNSeconds);
      }
  
      void IncreaseSpawnRate()
      {
          if (maxSpawnRateInSeconds &gt; 1f)
              maxSpawnRateInSeconds--;
  
          if (maxSpawnRateInSeconds == 1f)
              CancelInvoke("IncreaseSpawnRate");
      }
  
  
  }
  </code></pre>
  
  <p>And the BlockScript.cs, which is my enemy script:</p>
  
  <pre><code>using UnityEngine;
  using System.Collections;
  
  public class BlockScript : MonoBehaviour
  {
  
      private GameObject wayPoint;
      private Vector3 wayPointPos;
      private Rigidbody2D rigidBody2D;
      public bool inGround = true;
      private float jumpForce = 400f;
  
      private float speed = 6.0f;
      void Start()
      {
  
          wayPoint = GameObject.Find("wayPoint");
      }
  
      private void awake()
      {
          rigidBody2D = GetComponent&lt;Rigidbody2D&gt;();
      }
  
  
      void Update()
      {
  
          if (inGround)
          {
              inGround = false;
  
              rigidBody2D.AddForce(new Vector2(0f, jumpForce));
          }
  
          wayPointPos = new Vector3(wayPoint.transform.position.x, transform.position.y,
              wayPoint.transform.position.z);
  
          transform.position = Vector3.MoveTowards(transform.position,
              wayPointPos, speed * Time.deltaTime);
  
          Vector2 min = Camera.main.ViewportToWorldPoint(new Vector2(0, 0));
  
          if (transform.position.y &lt; min.y)
          {
              Destroy(gameObject);
          }
  
  
  
      }
  
  
  }
  </code></pre>