If you are building your app with Xcode 8 and linking with the tvOS 10 SDK, then here's how to require a game controller:
- Go to the "Capabilities" tab in Xcode and turn on the "Game Controllers" switch.
- Check the box for "Extended Gamepad". That's saying you support a game controller.
- Un-check (or leave blank) the box for "Micro Gamepad". That's saying you don't support the Siri Remote.
Then rebuild/test/submit your app.
If you are building your app with Xcode 7.x and/or linking with the tvOS 9 SDK, then you would need to do the above steps plus manually set the GCSupportsControllerUserInteraction key to false in your info.plist. Better to just upgrade and link with the tvOS 10 SDK as above.
Once these are set, then the app store should display some "Game Controller Required" text on your store page, next to the price. Then during a purchase, if someone has -never- paired a game controller with their Apple TV and goes to buy the game, they'll be shown an alert "Requires a Game Controller" with some descriptive text and Continue / Cancel buttons. If they had previously paired a controller to this Apple TV this alert won't be shown.
It's still up to you to present UI in-game instructing the player to connect a controller if you detect no game controller is connected (right now). For example, if the player uses the Siri Remote to launch the game and hasn't woken up their game controller yet, or the controller goes out of range, gets turned off, etc.