-
-
Notifications
You must be signed in to change notification settings - Fork 10
Home
Complete Technical Documentation & Developer Resources
Modern, policy-based C++ library for advanced gamepad features (DualSense/DS4).
Engine-agnostic architecture designed for Unreal, Unity, Godot, and O3DE.

GamepadCore is a high-performance, platform-agnostic C++ library designed to handle raw HID communication with game controllers. It bypasses generic abstraction layers (like XInput or SDL) to unlock hardware-specific features often inaccessible in standard APIs.
This wiki provides in-depth technical documentation for developers integrating Gamepad-Core into their projects.
| 🏛️ |
Architecture Overview Understanding the policy-based design, layer separation, and extension points
|
| 📄 |
Technical Documentation: Trigger Effect Mapping Complete reference for DualSense adaptive trigger effects and their data structures
|
| 🎮 |
HEX Mapping Reference: DualSense Triggers Raw HEX command reference for low-level trigger programming
|
-
New to Gamepad-Core?
Start with the Architecture Overview to understand the library's design philosophy. -
Integrating into a game engine?
Check the Architecture Overview for policy implementation examples. -
Need trigger effect references?
See Trigger Effect Mapping for high-level API docs, or HEX Mapping Reference for raw HID commands.
-
Reverse engineering DualSense protocol?
The HEX Mapping Reference documents all discovered HID report structures. -
Contributing new findings?
Update the Technical Documentation with your discoveries!
-
Unreal-Dualsense (v2.0. 0-pre-release)
Production-ready Unreal Engine plugin with full DualSense integration -
Godot-Dualsense
GDExtension prototype for Godot 4.x
- DualSense on Windows (Ohjurot) — Original research on Windows HID
- pydualsense (flok) — Python implementation
- DualSense API (BadMagic100) — C# wrapper
Found an error? Discovered a new trigger effect? Want to add examples?
How to contribute:
- Click "Edit" on any wiki page (requires GitHub account)
- Make your changes using Markdown
- Submit with a descriptive commit message
- Changes are reviewed by maintainers
Contribution guidelines:
- Keep technical accuracy high
- Provide code examples where relevant
- Link to related wiki pages for context
- Use clear, concise language
This documentation is part of the Gamepad-Core project, licensed under the MIT License.
Trademarks: PlayStation, DualSense, and DualShock are trademarks of Sony Interactive Entertainment Inc.
This project is not affiliated with Sony.
Questions? Open an Issue or Discussion