Thumbstick bound to InputAxis only returns -1, 0 and 1 values

So if I use Gamepad Right Thumbstick X-Axis/Y-Axis and input the values directly into Make Vector I can get 360 degree rotation into my Player Character.

BUT…

If I use InputAxis and bind said Gamepad Right Thumbstick X-Axis/Y-Axis in, all I get is 8 directional input!? I’ve tested both variations with a print string node and InputAxis only returns -1, 0 or 1 when the thumbstick is utilized.
(BP Screenshot attached)

What is going on here? Does anyone have a way for me to work around this? I do want players to be able to rebind controls in the game and this is a huge letdown.

Thank you in advance for the help.

Both the Operating System and Unreal see the joystick as fully analog with nigh-infinite floats being returned from both thumbsticks. If I use print string on the top two nodes I get full directional control. If I use print string on the bottom two nodes I only get -1, 0 and 1 thus creating only 8 directions.

I wonder if you have your game controller configured in your Operating System to treat the thumbstick as an 8-directional D-pad. Some people do this in order to use their game pad with old game emulators like ZSNES so they can relive the good old days of the original super mario bros and sonic the hedgehog, for example.

Does your gamepad behave like an 8-directional d-pad on other games you use it for?

That is very strange. Have you tried deleting the input axes from the Input section of the Project Settings, and recreating them (and the input event nodes that come from them)?

Well, I’m stumped

Doesn’t work…

Regardless, thank you for trying :slight_smile:

Hello everyone,
Just to give a quick shot to this “old” issue. I had this issue too.

My Issue was, that I bind the “Gamepad Right Thumbstick up/down” and “left/right” to the Axis Mapping instead of using the correct “Gamepad Right Thumbstick X-Axis/Y-Axis”.

The reason is, “Gamepad Right/Left Thumbstick up/down/left/right” just return values 0 and 1. As the name implies (Is the thumbstick up/down/left/right? → bool).
While the “Gamepad Right/Left Thumbstick X/Y-Axis” returns the Axis value in the range between 0 and 1.

I hope this helps someone with the same issue.

1 Like

Thank You! This worked perfectly for me when I was having the same problem with my Oculus Touch controllers. In my case, I had to use Oculus Touch Thumbstick Y with scale set to 1.0 and Oculus Touch Thumbstick X with scale set to 1.0. I hope this helps someone else as well, it was surprisingly hard to find this answer.

UnrealEngineInputSettings