Apple TV platform builds on foundation of iOS platform and at the same time brings new paradagims and challenges for game developers. While deploying already pre-existent mobile game on tvOS is one click away, game content often needs adapted to play nicely with new input controls or the fact that it will be played on big screen TV. This manual page is primarely aimed at helping transitioning from iOS to tvOS.
Apple TV Remote (Siri Remote) serves as multipurpose input device working both as traditional menu navigation controller, game controller, gyro and acceleration sensor and as touch gesture device. TV Remote input is minimally processed by Unity and mostly routed to corresponding Unity APIs. Usually each game needs slight adjustment of input scheme to leverage unique Apple TV Remote input features. Some games would benefit treating it as traditional game controller with one analog axis and extra action button, while others would benefit using accelerometer for steering purposes. It’s recommended to experiment a bit with various schemes when porting game to tvOS. Here are technical details on how to access specific TV Remote features:
Warning: due to “Menu” button being reported as joystick button 0 when UnityEngine.Apple.TV.Remote.allowExitToHome is set to false, and default input manager binding “Submit” virtual button to the same joystick button 0, it will trigger actions on UI elements when pressing “Menu” button. To work around this issue, you need to remove or modify “Submit” virtual button bindings in input manager.
Note: TV Remote navigation won’t work while running in TV Simulator.
Game Center requires to provide custom visual resources for native leaderboard UI. Here are quick instructions how to set them up in Xcode:
tvOS has strict requirements how much disk space application can reserve. Main application installation bundle size should not exceed 200 MB. Though limits for additional downloadable content are much higher (up to 2GB for in-use assets and up to 20GB of total downloadable content). Apple recommends to use On Demand Resources for tvOS downloadable content, as it enables best disk space management strategies for tvOS. Unity supports ODR via Asset Bundles. ODR implementation guide could be found in our dedicated blogpost