Cardboard on iPhone 5 doesn't render on stereo

| | August 4, 2015

Has anyone ran into this?

I’m on Unity 5.1.1p3, Cardboard Unity Integration v0.5 (5/28/2015) and an iPhone 5 running iOS 8.3 (12F70).

I made a game that uses Cardboard and on an iPhone 6 the screen renders as expected: two offset cameras. On an iPhone 5 however, while the screen does show the 2 viewport masking and the distortion correction, it’s actually a single camera that is being rendered, defeating the purpose of Cardboard.

Here’s what I mean. This is the iPhone 6, as expected:
enter image description here

And this is the iPhone 5, which is wrong:
enter image description here

Any ideas?

Some extra info:

The iPhone5 can only use GLES2. It doesn’t support ES3 or Metal. But what I did notice is that if I make a build for GLES2 the first time the app runs on the device (be it iPhone 6 or 5), when the Cardboard camera gets enabled, the app crashes:
enter image description here

If then I quit the app and start it again from the phone without it being hooked up to Xcode, on the iPhone5 I get the wrong rendering I’ve shown while in the iPhone 6 the app just crashes again. And if instead I make my build with automatic graphics API detection, what happens is that on iPhone6 it goes to Metal mode and so it works fine and on the iPhone5 it goes to GLES2 mode which, as stated before, crashes if attached to Xcode but otherwise just runs only that with the wrong rendering.

One Response to “Cardboard on iPhone 5 doesn't render on stereo”

  1. SaldaVonSchwartz on November 30, -0001 @ 12:00 AM

    I found the issue. Though I’m still not 100% sure why this is so. But it turns out that if using GLES2 and using any post processing / screen space effects from Unity, I have to switch the Cardboard SDK’s direct rendering mode off. Doing that (or alternatively not using post processing at all on the cameras) makes the game render correctly on GLES2.

    A separate issue that still remains is why the first time I attempt running a fresh build from within Xcode, the app will crash while creating the render buffers. After that initial crash, starting the app subsequent times from within the springboard does not crash.

Leave a Reply