Game controllers can enhance gameplay and increase the sense of immersion in a game. A game controller can also navigate the Apple TV focus-based interface, eliminating the need to switch input devices.
Consider supporting both a game controller and the remote. Game controllers are optional purchases people may or may not make. But every Apple TV has a remote. If you support game controllers in your app, consider making the remote usable as a game controller too. Think about the kinds of interactions you can enable using the remote. In a driving game, for example, you can let people rotate and operate the remote in landscape mode.
Determine game controller requirements.
If your game has advanced game mechanics that can’t be supported by the remote, you can require the use of a game controller. The App Store displays a "Game Controller Required" badge for apps restricted in such a manner, and may warn people if a compatible game controller hasn’t been paired with their Apple TV.
Confirm required game controller connections at launch. Your game can be opened anytime, even when there’s no controller connected. If your app requires a controller, check for the presence of a controller at launch and gracefully prompt for one if necessary.
Communicate game controller advantages. If your app supports both the remote and game controllers, inform people about the capabilities a game controller offers beyond those of the remote.
Test all supported input devices. Make sure menus and essential navigation work with any input devices your app supports so people don't need to keep switching devices as they use your app.
For information about implementing game controller support, see Working with Game Controllers in App Programming Guide for tvOS and Game Controller Programming Guide. To find out about developing games, see GameplayKit Programming Guide.
Buttons should behave consistently and predictably in the context of your app or game.
|Button||Expected behavior in an app||Expected behavior in a game|
|A||Activates a control or an item.||Performs primary button behavior, such as accelerating.
Confirms affirmative actions.
|B||Returns to previous screen.
Exits to Apple TV Home screen.
|Performs secondary button behavior, such as braking.
Returns to previous screen.
|X||Activates media playback.
Pauses/resumes media playback.
|Menu||Returns to previous screen.
Exits to Apple TV Home screen.
Returns to previous screen, exits to main game menu, and/or exits to Apple TV Home screen.
|Left Shoulder||Navigates left.||Varies.|
|Right Shoulder||Navigates right.||Varies.|
|Left Trigger||Navigates left.||Varies.|
|Right Trigger||Navigates right.||Varies.|
Provide a way back to the previous screen and out of your app or game. Apps that use the Game Controller framework can be notified when the Menu button is pressed, so they can take appropriate action. Users expect to press the Menu button and return to a previous screen or the main Apple TV Home screen. Pressing Menu at the top level of an app or game should always exit to the Apple TV Home screen. During gameplay, pressing Menu should show or hide an in-game pause menu that includes an option to navigate back to the game’s main menu.