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.
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
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.
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.