How To: Support the Android Game Controller

IMPORTANT: This document, while written by NVIDIA, is not slanted towards its products. It is written only to help the developer get best-of-class controller support in their product, no matter who the vendor.

IMPORTANT: Understand that this document was written to give you access to the broadest range of controllers, so as to maximize your product’s addressable market. It is important to understand the concepts, especially the controller diagrams, or you risk over restricting, filtering, or just plain missing an important step towards high-quality, broad-range support.

NOTE: It is assumed that the reader is familiar with Android or Unity input APIs. At the time of this writing, Android API19 and Unity v4.5.3 are the latest versions.

By using our experience in evaluating countless Android applications that use the controller, we’ve come up with a basic list of topics and issues which you should be careful to avoid. By executing each list item in the next section, your application will be on its way to having the best-in-class controller experience possible.

In the sections following this basic list, more advanced topics are covered, or the basic list items are expounded upon. Many of these are “gotchas” found by developers. Details in this document are packaged in a highly dense manner, so take care in examining them. It’s likely even the most experienced developers will find these sections useful.

With just a little forethought and attention to the details, it’s quite simple to elevate your controller support from basic to best-in-class.




NVIDIA® GameWorks™ Documentation Rev. 1.0.220830 ©2014-2022. NVIDIA Corporation and affiliates. All Rights Reserved.