Integrate all the features of Sony's DualSense™ and DualShock 4® controllers into your Unreal Engine project for Windows.
Report Bug
·
Suggest a Feature
·
Documentation
"PlayStation", "PlayStation Family Mark", "PS5 logo", "PS5", "DualSense" and "DUALSHOCK" are registered trademarks or trademarks of Sony Interactive Entertainment Inc. "SONY" is a registered trademark of Sony Corporation. "Windows" is a registered trademark of Microsoft Corporation.
The author of this project is not affiliated, associated, authorized, endorsed by, or in any way officially connected with Sony Interactive Entertainment Inc. or Microsoft Corporation. This is an independent and unofficial project.
This is an Unreal Engine plugin that enables native communication with DualSense™ (PlayStation 5) and DualShock 4® (PlayStation 4) controllers on Windows systems. It exposes the unique features of each controller, such as Haptic Feedback and Adaptive Triggers of DualSense, through an easy-to-use Blueprint and C++ function library.
The goal is to bridge the gap left by generic controller support on Windows, giving developers direct access to the features that make Sony controllers so immersive.
- 🔌 Dynamic Connection (Hot-Swap): Automatically detects controller connection and disconnection, even during gameplay.
- ⚡ Optimized for Multiplayer: High-performance architecture with minimal impact on network games.
- 🎮 Seamless Input Integration: Coexists perfectly with Unreal Engine's native input managers (like Enhanced Input) and other gamepad plugins, preventing conflicts between devices.
- 🎯 Adaptive Triggers: Full control over resistance, effect, and vibration on R2/L2 triggers.
- 🔊 Audio-Based Vibration: Synchronize the controller's haptic feedback with any in-game audio source.
- 💡 Lightbar Control: Dynamically change the controller's LED color.
- 🎤 Microphone and Audio: Manage the mute button LED, speaker volume, and headset audio.
- ⚙️ Force Feedback: Native integration with Unreal Engine's Force Feedback system for standard motor vibration.
- 🎮 Multi-Controller Support: Manage up to 4 controllers simultaneously.
To demonstrate the practical use of the Windows Dualsense Unreal Plugin, a sample project has been developed using the Arena Shooter template and upgraded to Unreal Engine 5.6. This project integrates key features of the DualSense controller to enhance the player's experience.
-
🎯 Gyroscope Aiming: A complete tutorial on how to implement a precise and responsive Aim Down Sights (ADS) gyro aiming system using the Arena Shooter template. ➡️ [Read the Gyroscope Aiming Tutorial]
-
🔫 Arena Shooter: An example using the Arena Shooter template that implements adaptive triggers for automatic/semi-automatic weapons and haptic feedback for player damage. ➡️ [Read the Arena Shooter Tutorial]
In this sample, the following DualSense functionalities were integrated to provide a more immersive gameplay experience:
- 🔫 Automatic Gun: Experience fully automatic firing with appropriate haptic feedback, simulating realistic weapon recoil and vibration.
- 🎯 Semi-Automatic Gun: Engage in precise shooting with semi-automatic weapons, where each shot provides distinct haptic sensations and trigger resistance.
- 💥 Vibration on Player Hit & Visual Feedback: Feel the impact! The controller vibrates dynamically when the player takes damage, complemented by on-screen visual feedback for enhanced immersion and immediate awareness.
- 💡 LED Color Change on Player Hit: The DualSense controller's LED light dynamically changes color when the player is hit, offering an immediate and intuitive visual cue of damage taken, enhancing situational awareness.
You can download the Arena Shooter UE 5.6 with the DualSense integration directly from link.
- Download the example project for the editor here
- Download the compiled version of the example project here
We've created a detailed, step-by-step tutorial that breaks down the entire implementation within the example project. It's the perfect guide to get you started.
➡️ [Read the Arena Shooter Tutorial]
To create a clean and scalable system, all core DualSense features are centralized in the BPS_ShooterGameInstance Blueprint.
This GameInstance acts as a central command hub for all controller effects. The BP_ShooterCharacter is then used to capture player actions (like swapping weapons or taking damage) and calls the corresponding events in the GameInstance to trigger the effects. This approach keeps the code organized and easy to expand.
To demonstrate the practical use of the Windows Dualsense Unreal Plugin, a sample project has been developed using the Parrot Game Sample from Epic Games. This project integrates key features of the DualSense controller to enhance the player's experience.
In this sample, the following DualSense functionalities were integrated to provide a more immersive gameplay experience:
- Visual Feedback: The controller's Lightbar is used to provide real-time visual feedback to the player, changing colors and effects according to in-game events.
- Vibration (Force Feedback): The native Force Feedback system was used to create detailed vibration effects, increasing immersion during key moments of gameplay.
💡 Pro Tip for Deeper Immersion: For an enhanced audio experience, connect the controller via USB and plug a headset directly into it. This setup also works with a Bluetooth connection, offering greater flexibility.
This project serves as a practical guide for developers who want to see the plugin in action and learn how to integrate the unique features of the DualSense controller into their own games.
You can download the Parrot Game Sample with the DualSense integration directly from link.
- Download the example project for the editor here
- Download the compiled version of the example project here
- Unreal Engine: 5.2 or higher.
- Operating System: Windows 10 or 11.
- Controller: DualSense™ or DualShock 4®.
- Go to the official plugin page on the Unreal Engine Marketplace (FAB): Plugin Page - FAB
- Click Install or Add to Project and select your Unreal Engine project.
- Activate the plugin in Unreal Engine:
- Open your project.
- Go to
Edit > Plugins. - Search for Windows Dualsense Plugin and check the box.
- Restart Unreal Engine when prompted.
The plugin exposes all functionality through static Blueprint function libraries, meaning you can call methods from anywhere without needing to add components.
The functions are divided into two main categories for easy access:
- Sony Gamepad: Contains management methods common to Sony controllers (DualShock and DualSense), such as LED control, gyroscope, battery level, etc.
- DualSense Effects: Contains methods specific to DualSense exclusive features, such as Adaptive Triggers configuration.
Call functions directly to control DualSense features. Some available effects include:
- 🐎 Galloping: Simulates a horse's trot.
- 💪 Resistance: Applies constant opposing force when pressing the trigger.
- 🔫 Weapon: Creates a recoil effect for semi-automatic weapons.
- 🔥 Automatic Gun: Vibrates rapidly to simulate an automatic weapon.
📚 For the full documentation, please see the Wiki.
Contributions are welcome! If you have ideas, suggestions, or bug fixes, feel free to open an Issue or submit a Pull Request.
This project is distributed under the MIT License. See the LICENSE file for more details.
Special thanks to everyone who has contributed with suggestions, reported bugs, and offered implementation improvements. Thanks also to the developers of the libraries used as inspiration and reference for creating this project.
A special thanks as well to the Epic Games team for creating and providing the Parrot Game Sample, which served as an excellent foundation for the example project demonstrating this plugin's features.

