Rigidbody rb;
bool jumpedTwice; // Значение true, когда персонаж прыгнул второй раз.
bool isPlayerOnGround; // Значение true, когда персонаж стоит на земле.
public void Jump()
{
if(!jumpedTwice)
{
if(!isPlayerOnGround)
{
isJumpedTwice = true;
}
rb.AddForce(transform.up * 5, ForceMode.Impulse);
}
}
Однако Вам надо придумать, как вы будете делать проверку isPlayerGrounded, есть(мне известно) два варианта. Один из них - проверка на столкновение с коллайдером, принадлежащему объекту с определённым тегом(tag).