Дело такое, я начинающий разработчик, изучаю юнити буквально несколько дней. Наткнулся на одну неприятную проблему. Когда я прописываю такой код передвижения игрока, то мой персонаж под силой гравитации падает на землю ОЧЕ-Е-Е-ЕНЬ медленно. Такое чувство что чтото в этой строчке его тормозит. То-есть с передвижением персонажа по оси Х всё ок. А вот по оси Y торможение падения создаётся((
rigidbody.velocity = new Vector2(Input.GetAxisRaw("Horizontal") * runSpeed, 0);
Но когда я добавляю к знаку "равно" - плюсик, то баг с гравитацией пропадает и всё ок.
rigidbody.velocity = new Vector2(Input.GetAxisRaw("Horizontal") * runSpeed, 0);
Но тут появляется другой баг. Мой персонаж начинает ОЧЕ-Е-ЕНЬ быстро передвигаться по оси Х. Подскажите как решить такую проблему???

На твоего персонажа действует гравитация, и поэтому его velocity постоянно увеличивается со временем, а ты эту velocity каждый раз сбрасываешь до значения 0 через метод Update() или FixedUpdate(). Из-за этого и получается такое торможение.
Чтобы падение персонажа не тормозилось, нужно в качестве второго аргумента указать не 0, а то значение velocity, которое у него имеется в данный момент.