Use this guidance to ensure that your game properly supports controller input
across Android devices. This means that without any additional configuration
your game should:

- Recognize controller input when it's available
- Support this in menus and tutorials, including the first run tutorial
- Function with controller and touch inputs, switching the UI as necessary
- Work with each of the 3 standard controller types found on Android, in both wired and wireless modes

You can also use this guidance to validate that your game satisfies the
[Google Play Games \| Level Up](https://developer.android.com/games/guidelines#controller-mouse-keyboard) guidelines for controller support, which
states that your game should be fully playable on any Android-powered device
with a controller.

## Why controller support?

- **Support for non-phone devices**. PCs and Chromebooks might not have touchs screens but still run Android games. Android TV-powered devices don't have touchscreens, car displays might not have touchscreens, and tablets might be tiring or difficult to hold for long gaming sessions.
- **Support for second screens on phones**. Many phones that run Android support a second external display, letting gamers enjoy your game at home and on the go.
- **Support for accessibility needs**. Controllers are available from many manufacturers designed for a variety of accessibility needs. By making your game fully accessible with a controller, you also grow your potential player base by letting gamers interact with your game with the devices they're already familiar with on PC and console platforms.

Even if your gameplay is designed around touchscreens and phones, giving players
the option to play your game with game controllers lets more players play longer
and more often.

## Checklist

Minimum Validation

1. First run account creation and onboarding works with controller
2. Controller functions in menus
3. Actions bound to triggers work across all controller types
4. Both analog sticks function without drifting
5. Buttons only trigger once when held down/don't repeat
6. Triggers behave consistently across all styles of controller and don't double fire
7. Test your game with [the styles of controllers described here](https://developer.android.com/games/sdk/game-controller/controller-input#common-controller-types)

Recommendations for the best experience

1. UI adapts on the fly for each active input
2. Players can mix and match inputs, such as using gamepads and touch simultaneously
3. Button layouts and icons match the gamepad