Xbox controller controls different to keyboards

I have set my character to move horizontal using this code:
float move = Input.GetAxis (“Horizontal”);

this works great for keyboard, once the right or left arrow key is pressed it moves in that direction but its doesn’t move instantly, it builds up speed. (this is good)

For the xbox controller when i use the analog stick to moves left or right it moves suddenly and it just goes at full spreed instead of picking up speed.

I don’t know why this is happening if someone could tell me why this is happening it would be great.


I don’t know why it builds up speed when you use that method.
Might it be because of this:

Because the keyboard has keys, which has two states, pressed and released, the method Input.GetAxis("Vertical"); will return -1 when S is pressed, 0 when none of S or W is pressed, and finally 1 if W is pressed. When using an XBox controller, which has two joysticks instead of keys to controll the axes, the same function will return any value in the range of -1 to 1, corresponding to the position of the joystick.

If not, I don’t really understand this.
Is the code you wrote:

float move = Input.GetAxis("Horizontal");

the only code you are using for movement? You aren’t using anything like Rigidbody.AddForce()?

// TheDDestroyer12