v1.3 (legacy)
RawInput configuration
Enable Unreal's RawInput plugin so v1 projects receive the DualSense buttons and sticks.
v1 only. v2 reads the controller natively: if you use v2, do not configure RawInput for the DualSense, or every button fires twice.
v1 of the plugin only drives the controller's output. To read its buttons, sticks and triggers you need Unreal's RawInput plugin, configured for the DualSense.
1. Enable RawInput
In Edit → Plugins, enable Raw Input and restart the editor.
2. Add the DualSense to DefaultInput.ini
Add this block to Config/DefaultInput.ini. It maps the controller's axes and buttons to Unreal gamepad keys.
Config/DefaultInput.ini
[/Script/RawInput.RawInputSettings]
+DeviceConfigurations=(VendorID="0x054C",ProductID="0x0CE6",AxisProperties=((Key=Gamepad_RightTriggerAxis),(Key=Gamepad_LeftTriggerAxis),(Key=Gamepad_RightY,bInverted=True,bGamepadStick=True),(Key=Gamepad_RightX,bGamepadStick=True),(Key=Gamepad_LeftY,bInverted=True,bGamepadStick=True),(Key=Gamepad_LeftX,bGamepadStick=True),(Key=GenericUSBController_Axis7,bGamepadStick=True),(Key=GenericUSBController_Axis8)),ButtonProperties=((Key=Gamepad_FaceButton_Left),(Key=Gamepad_FaceButton_Bottom),(Key=Gamepad_FaceButton_Right),(Key=Gamepad_FaceButton_Top),(Key=Gamepad_LeftShoulder),(Key=Gamepad_RightShoulder),(Key=Gamepad_LeftTrigger),(Key=Gamepad_RightTrigger),(Key=GenericUSBController_Button9),(Key=GenericUSBController_Button10),(Key=Gamepad_LeftThumbstick),(Key=Gamepad_RightThumbstick),(Key=GenericUSBController_Button13),(Key=GenericUSBController_Button14)))
bRegisterDefaultDevice=True
0x054C is Sony's vendor ID and 0x0CE6 the DualSense product ID. For a DualSense Edge, add the same line a second time with ProductID="0x0DF2".
Button mapping
With the block above, the buttons arrive as these keys:
| DualSense | Key |
|---|---|
| □ ✕ ○ △ | Gamepad Face Button Left / Bottom / Right / Top |
| L1 / R1 | Gamepad Left / Right Shoulder |
| L2 / R2 | Gamepad Left / Right Trigger, axes Gamepad Left / Right Trigger Axis |
| L3 / R3 | Gamepad Left / Right Thumbstick Button |
| Create | GenericUSBController_Button9 |
| Options | GenericUSBController_Button10 |
| PS | GenericUSBController_Button13 |
| Touchpad click | GenericUSBController_Button14 |
Enhanced Input
Once RawInput delivers the keys, use them in Input Mapping Contexts like any other key. Useful references:
- RawInput plugin (Epic docs)
- Enhanced Input (Epic docs)
- UEPlaystationGamepad by DarknessFX, an open-source project with a full RawInput setup for PlayStation controllers.
The boilerplate project includes a working configuration.