, поскольку вы устанавливаете компонент Y velocity
в 0 в
rb.velocity = new Vector2(moveHori * speed, 0) * Time.deltaTime;
, а скорее сохраняете текущую скорость Y, как
rb.velocity = new Vector2(moveHori * speed, rb.velocity.y);
Обратите внимание, что скорость не зависит от частоты кадров и вы не хотите умножать на Time.deltaTime
здесь! Скорее отрегулируйте ваш speed
так, чтобы это были желаемые единицы Unity в секунду.