E5BE GitHub - rafaelvaloto/Dualsense-Multiplatform: The Ultimate Cross-Platform DualSense and DualShock lib API. Pure C++ • Zero Dependencies • Engine Agnostic. Customizable framework tested and validated on Unreal Engine, O3DE and Godot. · GitHub
[go: up one dir, main page]

Skip to content

rafaelvaloto/Dualsense-Multiplatform

Repository files navigation

🎮 Dualsense-Multiplatform

The Ultimate Cross-Platform DualSense & DualShock API

Pure C++ • Zero Dependencies • Engine Agnostic

Build Status CodeQL License: MIT


Report Bug · Suggest a Feature · Documentation · Security Policy

Core Tech Stack
C++20 CMake

Supported Platforms
Windows Linux macOS PlayStation

Microcontrollers & SBCs
Raspberry Pi ESP32 Pico W

Game Engine Ready
Unreal Engine Godot Unity O3DE


Works with any C++ project — Game Engines, Emulators, Desktop Apps, and more

FeaturesExamplesInstallationTestsIntegrationArchitectureContributing

🎮 Release > v0.0.10

Important

API Change: The BufferOutput attribute in the FDeviceContext struct is now private. To access the write buffer, use the new method: Context->GetRawOutputBuffer().

Important

After calling any effect event on the controller (lights, triggers, vibrations, etc.), it is always necessary to call Gamepad->UpdateOutput() to apply the changes.

🚀 What is Gamepad-Core?

Gamepad-Core is a high-performance, policy-based C++ library that unlocks the full potential of Sony's DualSense and DualShock 4 controllers through direct HID communication.

Unlike generic gamepad APIs (XInput, SDL, etc.), Gamepad-Core gives you raw, low-level access to advanced hardware features that standard drivers can't touch:

  • 🎯 Adaptive Triggers — Dynamic resistance and haptic feedback on L2/R2
  • 💡 RGB Lightbar — Full LED control with per-device customization
  • 🎧 Audio Haptics — Convert game audio into tactile feedback (USB & Wireless)
  • High-Frequency Rumble — Precise motor control for immersive vibration
  • 🔄 Hot-Swap Detection — Real-time plug-and-play support
  • 🎮 Multi-Device — Handle up to 4 controllers simultaneously
  • 🎚️ Factory Calibration — Automatic calibration on connection, no setup required
  • 🎤 Smart Mute Detection — Automatic mute LED control, no coding required

🌍 True Cross-Platform Architecture

Gamepad-Core is engine-agnostic by design. It's a pure C++ library that works anywhere C++20 is supported:

🧱 Policy-Based Architecture