We’re happy to open access to the beta builds of Unity 5.3 with Apple TV support! We hope this will let you start testing your games on Apple TV. New build of Apple TV shipped as Unity 5.3.1: http://unity3d.com/get-unity/download/archive. It includes fixes for Xcode 7.2 compilation issues. Other issues will be addressed in subsequent patch releases. This build is marked as 5.3.0p0 (0c05b734e42f) build and is based on revision close to Unity 5.3 RC3. All the components are being shipped separately: Unity Editor for Mac, Unity Apple TV add-on for Mac, Unity iOS add-on for Mac, Unity Editor for Windows and Unity Apple TV add-on for Windows. Unity Editor for Mac: https://oc.unity3d.com/index.php/s/2qQq6q8y0qnOWlh Unity Apple TV add-on for Mac: https://oc.unity3d.com/index.php/s/tlY301OnOY2KIKz Unity iOS add-on for Mac: https://oc.unity3d.com/index.php/s/Jo6CKTBLaE8pWI2 Unity Editor for Windows: https://oc.unity3d.com/index.php/s/yjvsIPpqUgDA2ra Unity Apple TV add-on for Windows: https://oc.unity3d.com/index.php/s/JYM2uOwNMTjd5Hj Unity iOS add-on for Windows: https://oc.unity3d.com/index.php/s/YKR5jaW7b6hE8fb Things to know First install Unity Editor. Then on top of it install add-on packages. Requires Xcode 7.1 (Xcode 7.2 should work too, if it doesn't please let us know). Before running first Unity build make sure your provisioning and Xcode setup works fine. You can test it by creating empty Apple TV app from Xcode template menu. Many of iOS plugins won't be compatible with Apple TV, because it supports only subset of iOS frameworks. We recommend you to create separate branch of your game and do porting to Apple TV there. Don't forget to reach plugin providers and ask them to update plugins. If your game takes more than 200 MB on disk, you should break it into smaller parts and use On Demand Resources. For On Demand Resources support in Unity please refer to sections below. Note that Bitcode is included with Unity 5.3 builds, which will add ~130 MB to your executables. This added size is not accounted for distribution size, as it will be stripped by App Store servers. You can estimate Bitcode size by analyzing LLVM sections in your executable with otool -l. This build is supposed to be binary compatible with submission guidelines. If you have troubles with it, please let us know. Apple TV support is expected to ship officially as one of patch releases for Unity 5.3.x. Implementing Input If you haven’t yet added iOS Game Controller support to your game, you should check the dedicated page in the Unity Manual: http://docs.unity3d.com/Manual/iphone-joystick.html . Use the mappings written in this manual while setting up your custom action mappings in the Unity Editor Edit->Project Settings->Input. Apple TV Remote touch area is mapped to both Input.touches (Touch.type will be set to "Indirect" and will be ignored by Unity GUI) and usual Joystick Input API like Input.GetAxis("Horizontal"); Remote acceleration and gyroscope are mapped accordingly to Input.acceleration and Input.gyro. Input.acceleration internally is derived from gyroscope API and might have some instabilities. Unfortunately there is no dedicated accelerometer API on tvOS SDK. Input.gyro.attitude is derived from gravity vector thus lacks rotation around axis parallel to gravity vector. The same applies for Input.gyro.rotationRate. Pause/Play button on remote is mapped to button “X” (which is then mapped to joystick button 15, check manual page mentioned above). Remote touch area click is mapped to button "A" (which is then mapped to joystick button 14, check manual page mentioned above). Menu button has special behavior on this device. Long push of it will invoke task switcher and you can’t override this behavior. Short clicks can be processed two ways: a) returning to system home screen (if UnityEngine.Apple.TV.Remote.allowExitToHome is true) b) letting your app respond to it’s clicks (mapped to button “Pause” / joystick button 0), when UnityEngine.Apple.TV.Remote.allowExitToHome is false. This the default behavior. Your app should switch between a) and b) basing on where player is in your game. If they are on the top menu then you should enable behavior a), if it is deep inside the game you should prefer b) and invoke in game pause menu when this button is pressed. Apple TV remote is also generating Dpad UP/DOWN/LEFT/RIGHT button presses when you swipe to the edge of the remote. Check Unity Manual page for iOS Game Controllers to find the mappings. Apple TV remote operational modes can be controlled via dedicated API: UnityEngine.Apple.TV.Remote.allowExitToHome UnityEngine.Apple.TV.Remote.allowRemoteRotation UnityEngine.Apple.TV.Remote.reportAbsoluteDpadValues UnityEngine.Apple.TV.Remote.touchesEnabled Setting up Unity GUI navigation via TV Remote Open Project Input settings in Unity Editor. Find first occurrence of "Submit" virtual input, expand it and change it's "Alt Positive Button" to "joystick button 14". Select EventSystem game object in your scene: In EventSystem component populate "First Selected" field with UI game object that should receive initial focus. You might need to check "Force input module" flag in "Standalone Input Module" component. If everything is done right you should be able to navigate your UI via keyboard while running in Editor or via TV Remote swipes and full stop click when running on device. Note: TV Remote navigation won't work while running in TV Simulator. Adding Leaderboard resources to Xcode project Select Images.xcassets in Xcode project Right-click under listed files, and from the menu pick Game Center->New AppleTV Leaderboard. Add your images there. Select Leaderboard and on the right pane pick edit view. Find there "Identifier" field and enter you leaderboard id there. If after these modifications your asset compilation starts to fail, try disabling "On Demand Resources" in Xcode "Build Settings". Implementing On Demand Resources support This build comes with ODR support (though without App Thinning / Resource slicing, as it is not relevant for TV at the moment). Full documentation and examples are provided in dedicated blogpost: http://blogs.unity3d.com/2015/11/26/mastering-on-demand-resources-for-apple-platforms/ and on forum post: http://forum.unity3d.com/threads/se...and-resources-and-app-slicing-support.353491/ Known issues On screen keyboard is limited to single line entries. Temporary removed realtime GI support. tvOS icons should have at least two layers, otherwise Xcode project might not build. Feedback wanted Any issues you run into. File bugs!