title: OnCollisionStay Vs OnCollisionEnter
body: <p>Hi I've been using Unity for a while and for the life of me I can still not tell the difference between OnCollisionStay and OnCollisionEnter. I'm assuming that OncollisionEnter is called when a rigidbody (like a ball) makes contact with another rigidbody/collider such as a wall. But when I look at the example for OnCollisionStay, I get completely confused. Even if its called once per frame, If I for example jump up in the air and hit a ceiling above me, is it still called? What exactly are the differences? Here is what the Unity documentation says and the code I was using.</p>
  
  <p>"OnCollisionEnter is called when this collider/rigidbody has begun touching another rigidbody/collider."</p>
  
  <p>"OnCollisionStay is called once per frame for every collider/rigidbody that is touching rigidbody/collider."</p>
  
  <pre><code>if(Input.GetKeyDown(KeyCode.W) && OnGround == True)
  {
      rigidbody.velocity.y = jumpHeight;
  }
  
  onGround = false;
  
  function OnCollisionStay()
  {
      onGround = true;
  }</code></pre>