Unity, 2D: как сделать прыжок?
Что нужно что бы все заработало: 
1) Скопировать код.
2) Объект на котором висит Rigidbody должен иметь этот скрипт и коллайдер (обязательно 2д, не триггер)
3) Пол (то, с чем соприкасается объект игрока) должен иметь Layer "Ground" и коллайдер2д (не триггер)
Суть в том, что при вводе вы должны запоминать факт ввода клавиши прыжка и игнорировать его до приземления (для этого использован метод OnCollisionEnter2D) 
Исходя из этого дополните Ваш пример как Вам угодно.public class PlayerController : MonoBehaviour
{
    Rigidbody2D m_Rigidbody;
    readonly Vector2 force = new Vector2(50, 50);
    bool inAir;

    private void Start()
    {
        m_Rigidbody = GetComponent<Rigidbody2D>();
    }

    void Update()
    {
        if (Input.GetKey(KeyCode.Space) && !inAir)
        {
            inAir = true;
            m_Rigidbody.AddForce(force);
        }
    }

    private void OnCollisionEnter2D(Collision2D collision)
    {
        if (collision.gameObject.layer == LayerMask.NameToLayer("Ground"))
            inAir = false;
    }
}
Перед прыжком делайте проверку на то что персонаж стоит на какой-либо поверхности