Search Issue Tracker
Fixed in 2020.2.X
Fixed in 2019.4.X, 2020.1.X
Votes
0
Found in
2017.4
2017.4.7f1
2020.2
Issue ID
1159944
Regression
No
[Metal] Mirror Sharing screen of a Game to AppleTV causes the AppleTV screen to go dark and the Application to crash
Reproduction steps (repro is not 100% consistent):
1. Open user's provided project linked in a reply (look for %20Screen)
2. Build the project for iOS
3. Open and Deploy the created Xcode project for iOS (make sure your device supports Metal)
4. Once the Application fully launches, minimize it, start Screen Mirroring (AirPlay) to an AppleTV
5. Maximize the still running application and press a Button with "Activate 2" on it (this will execute code in ScreenTwo.cs)
Expected result: View from another Camera in Game appears in the monitor of AppleTV
Actual result: AppleTV monitor becomes dark and errors are thrown in Xcode (note 3), after around 10-15 seconds the Application crashes and remains turned on
Reproducible with: 2017.4.39f1, 2020.2.0a5, 2020.2.0a15 (could not repro crash)
The issue does not reproduce with OpenGL ES 2.0, OpenGL ES 3.0 and reproduces with Metal
Reproducible with VLNQA00310 iPad Pro (iOS 12.2.1) with Screen Mirroring to AppleTV (tvOS13.3.1)
Could not test with Phone 5C (10.3.3) because Metal is not available
Could not test on Standalone build on Mac + AppleTV because the ScreenTwo.cs script does nothing upon the click
Notes:
1. Stacktrace with the entire Debugger log can be found in Edits (Stack Trace) and Debug.rtf
2. For older devices, the Shader of the background might be unsupported and the button will be invisible, however, it will still be there (there isn't anything else clickable on the screen and it is located in the middle bottom). You can confirm it does not reproduce by seeing that the screen is not black but actually trying to display the unsupported shader (check IRL image attached)
3. Errors thrown are: SetRenderTargets: Cannot set a depth surface as a color render target
First few lines of the stack after the crash (check note 1 above):
* thread #15, name = 'UnityGfxDeviceWorker', stop reason = signal SIGABRT
frame #0: 0x000000018342c2e8 libsystem_kernel.dylib`__pthread_kill + 8
frame #1: 0x00000001835412f8 libsystem_pthread.dylib`pthread_kill$VARIANT$mp + 396
...
dBuffer*, objc_selector*, id<MTLDrawable>) + 72
* frame #8: 0x0000000100e2d5fc ProductName`::PresentMTL(surface=0x0000000104948b10) at MetalHelper.mm:300:9 [opt]
...
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Inaccurate Box Collider boundaries on a rotated child Cube when the parent GameObject Scale is non-uniform
- [Android] "SHADOWS_SCREEN" set as shader Keyword when no "_ShadowMapTexture" is bound leads to freeze on a build on some Mali GPU devices
- Constant console errors when using Min/Max Slider in PlayMode
- The global scene list is overridden in a project built with command line when the Override Global Scene List setting is disabled in the build profile
- [Linux] AutoLocale log is logged when opening a project
Resolution Note (fix version 2020.2):
Fixed in 2020.2.0a18.2359
Resolution Note (fix version 2020.1):
Fixed in 2020.1.5f1.4487
Resolution Note (fix version 2019.4):
Fixed in 2019.4.10f1 (d9ef6fd7d683)