I’m not using a character controller just a rigidbody with a control script. The player is a ball and it seems the game has a hard time actually determining when the player is grounded. I’ve often had to spam space bar just to get it to actually register a jump. It is incredibly infuriating, here is the code I am using.
void FixedUpdate ()
{
float moveHorizontal = Input.GetAxis ("Horizontal");
float moveVertical = Input.GetAxis ("Vertical");
Vector3 movement = new Vector3 (moveVertical, 0.0f, moveHorizontal);
rigidbody.AddForce (movement * speed * Time.deltaTime);
if(Input.GetButtonDown("Jump") && isFalling == false)
{
rigidbody.velocity += Vector3.up * jumpSpeed;
}
isFalling = true;
}
void OnCollisionStay()
{
isFalling = false;
}
I’m really not sure what else I can do.