Вот этот момент интересный, так как его не должно быть. Может быть Input.GetAxis("Horizontal") Работает что в геймпаде что в клаве, тогда это объяснила бы все. Но говорю сразу, управление геймпадом не продуманно, это лишь юнити немного поткрутил его.