Classic Thumbstick does not use clamped values for it's MoveVector

All other movement methods use clamped values between - 1 and 1 for components of the MoveVector. This makes it easy to create input agnostic custom movement handlers using Controls:GetMovementVector(). The classic thumbstick does not clamp it’s move vector component values on a range of -1 to 1.

https://gyazo.com/404a913d638886b7a88deabbbd4d8a44.mp4

This can be fixed by clamping the multiplier on line 124 of the TouchThumbstick script like so:

currentMoveVector = currentMoveVector.unit * math.min(1, (inputAxisMagnitude - deadZone) / (1 - deadZone))

Expected behavior

The Classic Thumbstick movement mode should provide a Controls:GetMovementVector() with component values on a range of -1 to 1.

3 Likes

Thanks for the report! We’ll follow up when we have an update for you.

2 Likes

This issue should be fixed and working as expected now. Thanks!

1 Like

I thought this was intentional so that you could move at slower speeds if you only barely moved the joystick?