UE 5.6 Raw Input Plugin Axis Issue

The raw input plugin for UE 5.6 is currently reading button inputs but not axis inputs. Keyboard, mouse, and gamepads register but axes for generic usb controller do not register axis inputs while buttons for generic usb controller do.

This is only using enhanced input and the raw input plugin. No issues with UE 5.5, but when upgraded to UE 5.6 this has been a consistent issue.

Are there any workarounds or potential fixes?

4 Likes

having exactly the same issue, trying to set my dualsense axis and inputs but everytime i try to configure a new input, immediately registers the genericusbcontroller axis 2

Is generic usb controller axis 2 recognizing any inputs for you? Or is it also not accepting input?

I have had the same issue but now figured out a fix.

Go to the Enhanced Input settings and enable “World Subsystem”. Add your IMC, also enable “Register with User Settings” but this might not be necessary.

When you then play and run the cvar “ShowDebug WorldSubsystemInput” you can see the axis values being received.

Then in your pawn add a “Get Enhanced Input World Subsytem” node, connect that to an “Add Actor Input Component” node before your “Enable Input” node.

1 Like

That solved the issue. I have joysticks working in game just need to apply this to the settings screen.

Well it did solve it for the actor and gameplay not so much for my having a UMG widget with a calibration display, that’s not getting the axis input :slight_smile:

But at least the game is playable again…

Edit- There’s some oddness with some of the input triggers (third person camera toggle is acting like multiple button presses). If I add a bunch of do-onces with delays it seems to behave more normally but that seems pretty heavy handed for something that was simple and working correctly before.

It could be that the EnhancedInput and then the WorldSubsystemInput are both passing button presses, as the buttons were working it was just the axis we had issues with. Try blanking out the EnhancedInput section in the project settings above where we enabled the WorldSubsystemInput. This should then only take button presses through that.

Good way to check is to run the “ShowDebug WorldSubsystemInput” CVAR during play and it will show all the IMC that are active, should only be one set actions displayed from the World Subsystem IMC

So for settings menu I’d need to make an actor to pass through the axis binding issues?

Edit- Removed the bindings from settings and did a set of removes in the pawn for the regular enhanced input system but it’s still behaving a bit weird on the input and requiring do-onces on the “triggered” event which wasn’t needed before using the experimental world subsystem.

I could do a separate generic USB controller IMC but that does break the entire rebind system that was made that worked with the normal Local User Subsystem :-/

Edit- I was able to make a kludge solution by creating a new IMC for just axes that uses the world system and it parses the regular keybindings for axis inputs and generates it.

Not ideal… but at least in game the inputs work. I’ll need to create an actor for the UI calibration screen to work.

So much for “enhanced” input…