Hi, I’m trying to get my DS4 controller to work. Seen a lot of posts about people using RawInput, or SDL plugins etc. Some posts mentioned the “Windows DualShock” plugin by Epic, when I enable that nothing happens, no documentation on it. What’s it supposed to do? Are we missing something?
Bump! I’m trying to get the DS4/PS4 conttroller to work via Raw Input, but I just saw the DualShock plugin and am super curious what it does? As vexe said, there’s no documentation.
Also, I’m having trouble with Raw Input, it seems to ignore the invert and offset values. Anyone know if I’m missing a step? I do get responsive values, but they are not being affected by those two modifiers.
Bump.
Someone said it makes PS4 controller read as an Xbox controller but as far as I can tell it doesn’t work now. It’d be great if PS4 controllers were supported.
That’s a great question. I see it is a built-in unreal plugin so I would expect it to work and find some sort of documentation. But it does not work and ist does not seem to be documented. If anyone knows how to fix this, I would appreaciate the help.
I haven’t done this myself but it looks like this isn’t built in the officially release version of UE (search for DUALSHOCK4_SUPPORT in the sources; it’s #define DUALSHOCK4_SUPPORT 0).
You’d have to build the engine from source and i think you need to become an actual PlayStation Partner in order to get the necessary headers (pad.h and others) and binaries (LibScePad) - see how WinDualShock.Build.cs is determining their existence.
If anyone still looking for a way to use DS4 windows and PS4 controller to work in UE5.
-Note that everything I talk about here is just from what I’ve experimented with and may not be factual-
The problem is more about windows than UE. When you just plug in a DualShock4 controller windows won’t recognise the device, this can be verified by looking at Devices section in your settings and not seeing ‘wireless controller’ under input, even though you’ll see it on the audio devices. If you can get windows to recognise the device then you’re all set. This is why we have DS4 Windows, since Windows doesn’t natively support DualShock4.
So you have the controller connected with DS4 Windows, but still no input. I found that selecting the default profile on the controller and ensuring that the ‘emulated controller’ is Xbox360 fixes this. You can of course use any profile you want and change all the button mappings and settings but as long as it emulates Xbox360 then its okay. You can also verify this in UE5 when you connect the controller it should come up with a ‘device connected’ popup.
Now a little more about the plugin itself. I’ve only noticed that it adds 2 entries to the Project Settings > Input > Windows > Hardware > Hardware Devices array to support DualShock4. But it wouldn’t do anything unless UE5 actually received input from the controller, which normally it won’t because windows doesn’t recognise the device. So if you get windows to actually accept input from the DualShock4 controller then it should map the inputs correctly, but I have been unsuccessful in trying to test this.
Thanks to Fordy234 for that explanation! I got mine to work!
Just to reiterate…
To enable being able to play your indie game with a DualShock Controller on Windows, (IDK about other PC platforms) you have to set the enulated controller type to XBOX within the DS4 program. Edit Profiles> the area that has Axis Config… tab over to Other… Then its should be in the first box- first option should be Emulated Controller. Change from DualShock4 to Xbox 360 and your DualShock controller should work like an Xbox controller. Epic isnt allowed to release the drivers within the engine for DualShock controller without the reciever being a PlayStation Partner which requires authorization from Sony and a fee.