Весь ввод в unity, т. е. Input, проверяется в Update, и если прыжок осуществляется с помощью AddForce(up), то Input.GetKeyDown нужно проверять в Update, так как уже знакомая проблема когда происходит такое:
FixedUpdate здесь запросили KeyDown
Update => GetKeyDown = true
Update а тут эта кнопка уже false
FixedUpdate и в этот FU приходит false, поэтому при нажатом пробеле прыжка не происходит
Мобильные устройства сразу отсекаются, а вообще прыжки, насколько я знаю, работают с булями типа
if
var isGrounded = true; (Input.GetKeyDown(KeyCode.Space))
{
isGrounded = false;
}
А затем этот же буль получают в Фиксед