Dualsense for Unreal Engine 5.2 ~ 5.7

:loudspeaker: Title: v2.0.0 Pre-Release: New Core Architecture, Updated Arena Shooter & Gyro Aiming!

Hi everyone,

I’m excited to announce the Pre-Release of v2.0.0! :tada: This isn’t just a regular update; it’s a complete architectural overhaul designed to make the plugin more stable, faster, and future-proof.

:video_game: Updated Demo Project: Arena Shooter

We have fully updated the Arena Shooter example project included with the plugin.

Gyroscope Aiming: Refined and smoother. If you want to see how to implement high-precision gyro aiming in Unreal, ### check this out.

Stability: The refactor improved performance without breaking existing blueprints.

:brain: The Big Change: Introducing #### GamepadCore

The biggest change is under the hood. The entire logic for communicating with the DualSense controller has been extracted and isolated into a new, engine-agnostic library called [GamepadCore].

Why does this matter to you?

  1. Version Independence: Since the core driver logic is now separated from the Unreal API, it’s much easier to maintain. If a future Unreal Engine version breaks the plugin wrapper, the core logic remains intact.

  2. Create Your Own Integration: Because GamepadCore is decoupled, you can use it to build your own input plugins for engine versions that are not officially supported yet.

  3. True Multi-Platform & Multi-Engine:

    • The library is C++ standard compliant and supports Windows, Linux, macOS, and PS5.

    • It is Engine-Agnostic. To prove this, I have included a basic implementation example for Godot Engine inside the repo.

This architecture ensures that the plugin is no longer just a “script,” but a robust middleware for Sony hardware.

rafaelvaloto/Gamepad-Core: Simple cross-platform integration for DualSense & DualShock compatible with any engine. A complete, easily customizable framework tested and validated on Unreal Engine and Godot.

1 Like

Perfect DualSense Gyro Aiming on PC | Unreal Engine 5 Plugin (v2 Update)

I’m having an issue I haven’t seen mentioned here, I was testing the plugin, added some basic movement and camera inputs and in editor it is plug and play, didn’t have to do anything aside from the input mappings. Works in selected viewport, and PIE, but once testing as simulated game or packaged, it no longer detects controller input. Anyone know what might the issue here?

1 Like

This is a great plugin, thanks! (I would have payed for it)

Any plans to integrate other controller types into this plugin as well? I love how seamless the PS controller is integrated into the Enhanced Input System, good work there!

I am considering to buy an additional plugin that supports HOTAS, etc., but I am a bit worried over the two plugins fighting each other over a PS controller (I have no idea if that concern is justified).

BTW just a story from the battle field: In order to sync adaptive triggers with digital input actions, e.g. like the semi-automatic weapon, I figured out that it is possible to change the Pressed Trigger Actuation value at runtime for any given IMC, so there is no need to check the axis value manually when detecting the button down event. Instead you can change the action threshold whenever the adaptive trigger is reconfigured. I personally feel this is the best approach since it uses the original Enhanced Input System design.

Find KeyMapping related to action (Shoot action in this case is the hardcoded name that the InputAction was given):

Check if Mapped Key is adaptive trigger and if yes, update Input Action:

Update Threshold on Action Triggers:

The only caveat here is that in my implementation the actuation threshold will update for all assigned keys if one of them is RT or LT, but in practice this will probably not matter at all because the other mapped keys are most likely digital keys anyway.

1 Like

Hi, thank you for sharing this knowledge. Your implementation is great. Congratulations :clap: . Regarding support for other gamepads, there won’t be any. The plugin can coexist with other plugins as long as it’s not a plugin that steals the handle or hides the device like DSX or Steam. The mapping is done through the native Unreal Engine, so it always assigns a new device ID; there won’t be conflicts if the plugin you buy doesn’t support DualSense.

1 Like

Hi, thanks for the feedback, I haven’t been able to reproduce this problem. You could open an issue on GitHub. Maybe someone there could give some tips as well.

Hi, I’ve been trying to work on some haptic feedback but can’t seem to get anything working in the main DualSense vibration. Force Feedback doesn’t seem to do anything. The machine node doesn’t either. Would you be able to advice?

Installed version is 1.2.20

1 Like

Hi, sorry for the delay in replying. So, the version here on FAB Marketplace is v1… in that version, haptics wasn’t very well defined yet.

To make it work in your project, I suggest you download the Audio Haptics example project. If your project doesn’t already have a Plugins folder, create one and copy or move the plugin from the example project to your project.

Once you do that, start your project and the engine will compile the plugin. Then you can go to the PlayerController example project and see the example there for audio haptics. It works via USB and Bluetooth.