Gamepads introduction
In the Input System, a gamepad is a controller that matches the Gamepad layout: two thumbsticks, a D-pad, four face buttons, shoulder and trigger buttons, and usually two center buttons. Use Gamepads to browse related setup and reference topics in this manual.
A gamepad can expose extra controls (for example a gyroscope). Every recognized gamepad still implements at least the controls defined on the Gamepad type.
The Input System also provides device-specific APIs for:
- PlayStation DualShock and DualSense hardware in the
DualShocknamespace. - Xbox controllers that use XInput in the
XInputnamespace. - Nintendo Switch Pro controllers in the
Switchnamespace.
For platform availability, refer to Supported devices reference.
When the Input System recognizes a device as a Gamepad, control placement stays consistent across platforms and hardware. For example, a PlayStation 4 DualShock maps to the same logical layout whether it is connected on Windows or macOS, and the south face button is always the bottom button in the diamond.
Important
Generic HID gamepads are not surfaced as Gamepad instances; they appear as generic joysticks. The Input System cannot rely on HID descriptors alone to map every axis and button correctly. Only HID devices that ship with explicit Gamepad support (for example the PlayStation 4 controller) use the gamepad layout. To add comparable support for another HID controller, refer to Create a custom device layout.