Apple TV Remote mandatory?

Hello,


I read yesterday in the App Programming Guide for tvOS that unlike iOS apps, Apple TV apps could require the user to own an extended controller, provided that you display a warning message to users who don't have one.


But today, it says explcitly that games must support the Apple TV remote and that requiring a controller is not allowed.


Do you know which one is correct?

Accepted Answer

Apps must support the Siri Remote, and can optionally also support MFi controllers.

So is Guitar Hero going to be playable with the remote?

I haven't dived into the remote APIs yet... is there any API access to any of the 6 face buttons on the remote, or are we limited to just the teeny touch-pad and motion controls? I can partially understand the restriction, but if all we get to play with is the little touch surface and motion, there are a ton of games that even work on the iPhone that won't be able to port to tvOS...

You can get access to some of the buttons. That is, the playPause and Menu buttons, plus the select button.


For example:


  let playPausedPressedGesture = UITapGestureRecognizer(target: self, action:"playPausePressed:")
  playPausedPressedGesture.allowedPressTypes = [NSNumber(integer: UIPressType.PlayPause.rawValue)]
  view.addGestureRecognizer(playPausedPressedGesture)

  menuPressedGesture = UITapGestureRecognizer(target: self, action:"menuPressed:")
  menuPressedGesture.allowedPressTypes = [NSNumber(integer: UIPressType.Menu.rawValue)]
  view.addGestureRecognizer(menuPressedGesture)

That's correct Skrappy. In addition, you can assign gestures to UIViews such as taps or swipes that are initiated by the track surface.

But can you use the Menu and Play/Pause buttons as game buttons, or just for Menu and Play/Pause? If it is the latter then that doesn't really count as 'using' them for a game.

I think we're able to use the Play/Pause button for gameplay, but not the Menu button.


Expected Behavior in a Game (from tvOS HID)

  • Touch surface (click): Performs primary button behavior.
  • Menu: Returns to previous screen, exits to main game menu, and/or exits to Apple TV Home screen
  • Play/Pause: Performs secondary button behavior. Skip intro video.


Also, from the the App Programming Guide:

  • The touchpad is available as a digital button (button A), by firmly pressing on the touchpad.
  • The Play/Pause button on the remote is a digital button (button X).
  • The menu button on the remote is used to pause gameplay, calling the controller object’s pause handler.


-------------------------------------------------


Finally, lots of good info in GCMicroGamepad:


buttonA

The first button. (read-only)

The face buttons in the micro gamepad profile can be either digital or analog buttons. When the controller implements the D-pad as a touchpad, button A is usually activated by a harder press on the touchpad.

buttonX

The secondary button. (read-only)

The face buttons in the micro gamepad profile can be either digital or analog buttons.

The expectation of users will be that the menu button triggers a pause in the game, returns you to a game menu, or steps you back in layers of navigation.


So, if all of your menus exist in your game engine and you aren't using UIKit for them, it is likely you'll need to use the menu button to adopt the expected behaviours as decribed in the HIG. But it would not likely be approrpiate to use the menu button as an additional game play button, and has the potential for users to feel trapped in the game.

Is it 100% for sure that every single part of gameplay must be able to use the Remote?


Or can the main menu, etc use Remote input, and then once in the game where joysticks and buttons are absolutely necessary, it wouldn't be able to use the Remote at all?

Think everyone that's concerned about the lack of proper gaming controls, due to having to support the AppleTV remote should file a feature request at bug report here: https://bugreport.apple.com/


Request should be a setting for TVOS AppStore to indicate that a game controller is required in order to play the game.


Philip

Apple TV Remote mandatory?
 
 
Q