After updating my projects to Unity 2017.1.0f3, my applications specifically on iOS no longer display anything in the scene besides the cardboard cutout. It only displays a black screen with the standard cardboard icons.
I tested the Google Demo scene as well with nothing else loaded and it still has the same issue. I see no errors pop up in the console during run time when I load the scenes. I can still toggle the standard cardboard buttons like the back button which cancels out the cardboard and renders the scene like normal.
Happens even in a completely empty scene with the SDK in a entirely new project.
Tested on iPhone 5 Version 10.3.2 (14F89).

Fortunately, everything seems to be fine in Android and the X button seems to be back up and running. Also, toggling VREnabled seems to no longer have any major issues, so thank you for that.
If anyone has the same issue and has been able to fix it, any feedback would be appreciated.
Are you using single pass rendering? I'm having difficulties with that on Android. Try disabling if so (purely for diagnostics).
@Arakade I've been using multi-pass rendering for both Android and iOS. As of today, it is still only working for Android however.
Oh ok. Sorry I can't offer anything then -- no iOS here (yet). I assume there's nothing interesting in the logs? (E.g. Single pass failure gave me lots of GL state errors.)
Same issue on Android
Got this issue as well on both Android and iOS.
For android I received an error, for iOS nothing at all
but this might have been because I used single-pass (don't even know if a Galaxy S6 supports single-pass)
Built it again with multi-pass and it works again.
Though for iOS it is always black but I have yet to try GVR 1.70
07-26 16:50:45.091: E/Unity(31317): (Filename: ./Runtime/GfxDevice/opengles/GfxDeviceGLES.cpp Line: 370)
07-26 16:50:45.110: E/Unity(31317): OPENGL NATIVE PLUG-IN ERROR: GL_INVALID_FRAMEBUFFER_OPERATION: Framebuffer is not complete or incompatible with command
Yep. That's the error I get too.
I made a little table of my results -- I'm on my mobile atm so can only link my frustrated tweet:
https://twitter.com/Arakade/status/886601019362344963
For me multi-pass was fine but single-pass not.
Same trouble in iOS (multi pass). It is ok, when I use metal, but I need OpenGL2 due to another SDK. When you push Gear button (right up) > Switch VR > Skip .. it is ok. So we need some hack what do this.
Any idea how simulate this? Maybe we have to suspend app.
Having the same problem. Pressing the gear, skipping and then returning to the app seems to fix things, but it's still unreleasable that way.
Any updates on this? It's definitely a blocker for using 2017.1.0f3 on iOS.
Tested on GVRSDK 1.6 and 1.8 on iOS.
This seems like it's either more of a Unity bug or possibly the GVR iOS SDK bug rather than GVR Unity SDK, right?
No, still having this issue on iOS. I've voted on the issue in the Unity forums... we'll see if anyone responds!
@SamtheSpartan, can you post the Unity forum bug link here? Thanks.
FYI - There definitely is an issue with Single Pass Rendering + GVR on Android Mali devices. I just posted a new issue specifically for that - #709
This current thread's issue (also cross listed in the GVR iOS SDK repo) is more specifically about the iOS issue.
@dustinkerstein I've tried to work around including Cardboard as a VR setting but obviously that's way more work than just including the native unity functionality. Seems like it's only happening on iOS still, have you found any fixes for it yet?
@SamtheSpartan I haven't found any workarounds yet and there doesn't seem to be anyone working on it... I'm currently just planning on shipping with a warning (informing users how to get VR working) during the splash screen on iOS for the time being. Bad UX, but I really don't have any choice at the moment.
Daaaaaaaaaaaammit me too then. I assume you have to build it into the splash screen because any in-game canvases will just be composited into the cardboard viewer... thanks for the tip.
Yah, I'm actually loading iOS with the "None" device first, showing the warning splash text, and then letting users switch into VR mode when they explicitly choose to.
This issue turned out to be caused by a bug on Unity side. It has already been fixed internally and will land to releases in 2-4 weeks unless something unexpected happens.
@p12tic any chance to release it with upcoming patch?
Can't promise anything :-)
Do you happen to know if it's in the 2017 beta release yet?
I have the same problem :(
Same issue here. Black screen with stripes on iOS only. With GVR and without. Unity 2017.1.1f1
@p12tic Is there a release date for the fix? We are waiting for it.
It's working correctly for me using an iPhone 6S, but not using an iPhone 5 (both of them iOS 10.3.3). For the iPhone 5 we need to use @CenekStrichel trick in order to see the scene.
I'm actually using iPad2... so old. but that's what I've got, and it was working till now. When is this gonna be fixed?! So Annoying. Anyone got a way to fix this or way around it??
The issue still exists, the latest Unity beta still not solved it. I can't publish my game on App Store because of this bug.
And is also still reproducible on Unity 2017.1.1p3 - This is a breaking bug for me as well. Any update would be appreciated.
I was able to reproduce this using Unity 2017.1.1p3 (using an iOS 11.0 phone) by setting either OpenGLES2 or OpenGLES3 as the first Graphics API:
Full set of changes from a new / default Unity project to reproduce:
Unity is working on getting the fix out for the aforementioned issue (thanks @SamtheSpartan):
Unity case 931397 [IOS][CARDBOARD][OPENGLES][REGRESSION]
_BLACK SCREEN ON VR CARDBOARD BUILDS WITH OPENGLES2_
@fredsa It say's it's fixed in a future release but it's remained broken in the subsequent 2017.3 beta, 2017.2 RC, 2017.1 patch releases that are dated after it being marked as fixed. Should we just wait one more round of releases, or should we try to reach out to the folks on the Unity side to get more details?
Hi, as of now, the fixes are targeted to 5.6.4p2, 2017.1.2p1, 2017.2.0p1 and 2017.3.0b3.
Hello everyone
I made a temporary solution.
Create a simple plugin and after Loaded Cardboard View and enabled the VR to call the native code below:
In Native Code:
-(void) myNativeMethod{
UnityPause(1);
[NSTimer scheduledTimerWithTimeInterval:0.5f target:self selector:@selector(freeUnity) userInfo:nil repeats:NO];
}
-(void) freeUnity{
UnityPause(0);
}
It had worked for me,
Unity 2017.3.0b2
Xcode: 9.0
iPhone 5 with iOS 10.3.3
Hi everyone. I have a similar issue to this, I am using unity 2017.1.1 and GVR-unity 1.7.
However in my case, the game will crach, so I can see the black screen for 3 seconds and the game will crash. I tested this on iPhone 6 plus with iOS 10.3
However, I have found that the problem is in the GVR audio, so I deleted every reference in the demo scene to the GVR audio and the demo scene work now on my phone. I don't know if this issue is related to the issue mentioned in this thread, however I hope that it can help someone...
FYI - Unity 2017.3.0b3 was just released today and does indeed fix this issue. Though I don't see it mentioned in the release notes.
Confirmed. Finally is working. Many thanks!
Great to hear 2017.3.0b3 fixes the issue.
Will leave this issue open a little longer, until the fix is back ported and released by the versions mentioned by @p12tic above.
I'm on unity 5.6.2f1 and GoogleVRForUnity_1.100.1 and it still happens...
@SelaO thats because it is not fixed for 5.6.2f1. In the issue tracker a unity representative answered:
the fixes are targeted to 5.6.4p2, 2017.1.2p1, 2017.2.0p1 and 2017.3.0b3
So you should see the fix coming for 5.6.4p2
@maskedmous so what do you suggest I'll do? Use an older GVR version? I have to stay on 5.6.2f1.
@SelaO I think this issue is unrelated to the SDK that is used. Rather something internally in Unity.
an upgrade to 5.6.4p2 should be do-able, unless there is something broken for you in that release. if so focus on getting that fixed by Unity by sending them a bug report
@SelaO I implemented @luizzenha solution successfully in my Unity 5.6.3p4 project, although using timers was not necessary. It was initially on v5.6.3f1 and I had to upgrade to see if it would solve this issue... it didn't.
Give that a try. Works great.
HI
i have the same issue in iPhone 6 and iPhone 8 on Unity Version 2017.2.0p2 and GVR Version 0.9 .1 .
Try with the latest patch release of 2017.2. It worked for me, as do all of the latest patch released of 5.6 and 2017.x.
I don't know if I am asking it right but, does the GVR video player texture works on IOS? I made a scene with a 360 video but it seems that it is not rendered when I switch to that scene. It is just black screen.
I'm using the last release 2017.2.0p4 . Or anyone knows a hackfix to make that 360 video works with GVR on IOS?
No, the GvrVideoPlayerTexture is only formally supported on Daydream, tho it may work in Android Cardboard on some Android devices.
There are other video player texture plugins for Unity you can explore, 3rd party and Unity's built-in video player component.
Hi all!
We are still having this issue, even with latest Unity version 2017.3, anyone else?
Remove the VR Graphic Jobs (Experimental)
"Remove the VR Graphics Jobs (Experimental)" - this helps!
Same issue on 2018.2.16f1. Gonna have to deploy dev builds from now on :( Interestingly only occurs on one of my 2 projects with the same settings?
Use metal rendering, open gles 3 is broken
So I couldn't fix this on Android or iOS even using metal. Ended up exporting the package to a new Unity project which fixed it. Some Unity bug I guess!
Same here, using unit 2018.3.6f1 with both None and Cardboard + Metal. It gets locked in a black screen
Most helpful comment
Hi, as of now, the fixes are targeted to 5.6.4p2, 2017.1.2p1, 2017.2.0p1 and 2017.3.0b3.