Rafael Valoto - Windows Dualsense for Unreal Engine 5.2 ~ 5.6

Tested the ParrotSample, everything is smooth and seamless. Its essentially black magic how you got it to work. My project is unresponsive and i have to reboot the entire engine every time i want to try out the Editor with the controller. I have uninstalled and re installed but no matter what i have done it will not work after the 1st time using the controller both wired and bluetooth. Even attempting to use the Gamepad COOP plugin it still has the same results.

1 Like

Hello Rafael!
Unfortunately, I updated the plugin and ended up being disappointed with the latest changes. No negativity, just facts: previously, the plugin felt like a “plug-and-play” solution, requiring no additional setup, but now when I launch my project the DualSense no longer works out of the box.

If the plugin had behaved this way from the start, I wouldn’t have had any questions. However, after the update it now requires extra configuration, which I hadn’t planned on doing - and that’s frustrating.

1 Like

Is touchpad functionality working? I’ve been trying all day to get it to work and can’t seem to get “swiping” to do anything. If it’s not currently implemented, do you have plans to? I feel like it adds more keybinds allowing for “Left/Right/Up/Down Touchpad Swipe”.

1 Like

Hi, Could you please share a bit more about your implementation? Version v1.2.13 no longer requires remapping or the Gamepad COOP plugin; the first controller automatically maps to the first player.

Could you send me your code from your BeginPlay and EndPlay events? Also, please remember that the Reconnect function is no longer necessary, as the plugin now automatically detects when devices are disconnected and reconnected.

Hello! I’m very sorry for the trouble the recent updates have caused. We’ll definitely look for ways to minimize these kinds of impacts in the future.

The plugin shouldn’t require any extra configuration. The mapping solution is only necessary when you have more than one player, as it gives you the freedom to choose which controller commands which player. Could you share a bit more about how you’re implementing it? For instance, is this for local multiplayer or just a single player?

Yes, the touchpad functionality should be working. :+1:

Just to reiterate: for the older DualShock (PS4) controller, the Accelerometer and Gyroscope features have not yet been implemented.

For your end-user to be able to set up and use the touchpad in their project, they will need to follow these steps:

Step 1: Enable Touch in the Plugin

First, as you previously instructed, the user must enable the plugin to send touchpad data. To do this, they should call your plugin’s function in an appropriate place, such as the BeginPlay event of their Player Controller.

  • In their Blueprint, they should find and call the Sony Gamepad Enable Touch node.

Step 2: Receiving Touch Data in Blueprints (No Enhanced Input Action needed)

Because your plugin sends the data as a screen touch event (using OnTouchStarted), the user does not need to configure an Input Action or an Input Mapping Context for this. The method is more direct and uses Unreal Engine’s native touch events.

In the Player Controller or Pawn Blueprint, the user should do the following:

  1. Right-click in the Event Graph.

  2. Search for the InputTouch event.

  3. Use the execution pins from this node to build their logic.

This node will fire whenever a finger touches, moves on, or is lifted from the touchpad.

  • Pressed: Fires once when a finger touches the pad.

  • Released: Fires once when the finger is lifted.

  • Moved: Fires continuously as the finger moves across the pad.

  • Location: Provides the FVector2D (X, Y) coordinate of the touch.

  • Finger Index: Identifies which finger is touching. Based on your code, the first finger (Touch.Id) will be Index 0, and the second finger (Touch2.Id) will be Index 1.

Example of how the user can set this up in their Blueprint:

Step 3: Implementing Gestures (like Swipes)

With the InputTouch event, the user can easily implement logic for gestures like swipes:

  1. Create a Vector 2D variable to store the initial touch position (e.g., TouchStartLocation).

  2. On the Pressed pin of the InputTouch event, save the Location value into that variable.

  3. On the Released pin, get the current Location and subtract the TouchStartLocation from it. This will give you a vector representing the gesture.

  4. Analyze this vector (its length and direction) to determine if it was a swipe and in which direction.

i had followed your video (https://youtu.be/GrCa5s6acmo) & the same with GamepadCoOp (how to use section on Git) reconnect is removed from my controller blueprint. if i was to do a fresh install is this video still accurate for 1st time set up?

1 Like

I suggest you don’t follow the example in the video; this video was created in the first versions of the plugin. My tip for you is to remove the following folders from your project: Binaries, Save, DrivedataCache.

After that, remove all the remaps you made with the GamepadCoOp plugin. This suggestion was temporary and is no longer necessary.

After that, try calling the function to change the LED color during your character’s begin play and see if the controller responds. Also, try checking the connection and the controller ID.

I plan to improve the documentation and usage examples by the weekend. I also plan to avoid making too many updates that impact the plugin’s workflow, but these latest updates were necessary to improve the plugin. Now we have a professional-grade plugin available to everyone: studios large and small, indies, and solo developers.

I have a single-player game using a controller. By default, an Xbox controller is connected via Bluetooth, but it’s always in sleep mode and needs to be activated. Before the updates, when launching the game through StandAlone, the DualSense would light up and work, but now it only lights up and nothing happens in the game.

Unfortunately, I didn’t have time to dig into it, so I just had to disable the plugin.

I understand that the FAB doesn’t offer the option to revert to a previous version, but all previous versions are available on GitHub.

You can download and install the version that previously worked for you in your project.

One note, as of version v1.2.10 this approach has been deprecated. The plugin automatically detects connections

New sample project in Arena Shooter, implements off triggers Automatic Gun, Semi Automatic Gun and Visual feedback HIT as force feedback

:video_game: Example Project: Arena Shooter UE 5.6

:rocket: Quick Starter Guide

Home ¡ rafaelvaloto/WindowsDualsenseUnreal Wiki