One extra multiply is fighting your hand.

The problem
deltaTime on a mouse.
void Update(){ float x = Input.GetAxis( "Mouse X" ); float y = Input.GetAxis( "Mouse Y" ); yaw += x * sensitivity * Time.deltaTime; pitch -= y * sensitivity * Time.deltaTime;}
It looks like the movement rule from every tutorial. On a mouse, it breaks your aim.
Why it happens
The mouse already gives you one frame.
Mouse X is how far the mouse moved since the last frame. That is already a per frame amount.
- Keys, sticks
- a rate, needs deltaTime
- Mouse X, Mouse Y
- a distance, use as is
- Times deltaTime
- turns less at high FPS
The fix in code
Use the delta as it is.
void Update(){ float x = Input.GetAxis( "Mouse X" ); float y = Input.GetAxis( "Mouse Y" ); yaw += x * sensitivity; pitch -= y * sensitivity;}
Same hand movement, same turn, at any frame rate.
Cheat sheet
Which input needs deltaTime?
| Input | Gives you | deltaTime? |
|---|---|---|
| W, A, S, D | a direction | yes |
| Gamepad stick | a direction | yes |
| Mouse X, Y | a distance | no |
A direction says which way. A distance already says how far.
The rule
Mouse delta is already per frame.
- Mouse look
- x * sensitivity
- Stick look
- x * speed * deltaTime
- Both feel right
- at any frame rate
The new Input System's mouse delta works the same way.