iOS cardboard support broken?

I just made a basic test scene consisting of a rotating cube and a sphere mounted in front of the camera.

Works fine in Android Cardboard VR and Oculus, but when I compile to Cardboard on iOS the left and right eyes have their cameras set up wrong.

The sphere is not even showing in one eye, and the eye disparity is way too large. Not even the Unity loading logo is showing right.

I am testing on iPhone 6S, using Unity 5.6 beta 11.

Any ideas ?

Can you provide a screen shot showing the disparity?

Sure, here are screenshots from the app. Both the Unity loading screen and the simple test scene, as described in the first post:


As mentioned, looks completely fine when running the same app on Android with the Cardboard SDK:

Let me know if you need the project files.

Are you manually changing VR render scale in your code?

No, and observe that the problem happens already on the Unity loading screen before any of my code is executed at all.

The only script running in the test case above is the one rotating the cube, everything else are the default settings.

Hey everyone,

I am having exactly the same issue. I need my Unity Cardboard app to work in both Android and iOS. Using Android, the scene is rendered correctly, in iOS, I am seeing the issue with the rendering as batmobile is seeing. This is using Unity 5.6b11, and built in Cardboard VR support. This is both with a simple sample project, as it is with our more complex scene.

No settings such as VR render scale or any others were altered from default settings. We tried forcing the graphics API to GLES2, GLES3 or Metal, with no difference in the rendered scene.

I am testing whether going back to 5.5 and using the Google Cardboard SDK works better at the moment.

I can attach additional tests or screenshots if it is of any help.

I just tried the latest beta 5.6.0f1, and now the test scene wont even compile at all.

When the Cardboard SDK is enabled, I get:

Apple Mach-O Linker (ld) Error Group
Undefined symbols for architecture arm64:
“_gvr_controller_state_get_position”, referenced from:
LoadGVRPlugin(GVRPlugin*, char const*) in libiPhone-lib.a(ApiFuncGVR.o)
“_gvr_controller_state_get_last_position_timestamp”, referenced from:
LoadGVRPlugin(GVRPlugin*, char const*) in libiPhone-lib.a(ApiFuncGVR.o)
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

I even tried to set up an entire new empty test project from the new Unity version, and it fails.

Exact same problem here

I checked different beta builds now, and anyone who need this to work has to revert to 5.6.0b10 until Unity addresses the broken VR-support for Apple’s devices.

I have tried the new 5.6.0f3 release and native Cardboard support works like a charm! Tested on iPhone 5S and 7 Plus. This is great :slight_smile:

I can provoke my Samsung Galaxy S7 Android device to display these wrong views shown above:

Since Android 7.0 we can switch the resolution from the device down from 2560x1440 to 1920x1080.
The bug appears only then, going back to 2560x1440 solves it.

I compiled from Unity 5.5.1.
Maybe this helps.

Grab Unity 5.6.0 from the archive and save yourself a day of wasted time. This is busted in 5.6.1

It’s an open issue:

Thanks for the link @lafindutemps . Looks like this is fixed in b7.

as far as I know 2017.1b7 does not fix that issue, or I did something wrong in the process.

Ah god damn it Unity. I’ll be trying it it tomorrow anyway, I need it to work… Will try to report back. Thanks for the reply @MaskedMouse

@MaskedMouse @lafindutemps @Dosetsu @TOES2 @mattSydney @jabonz2048 YAY!
Unity 2017.1.0b8 release notes
Released: June 2, 2017
“VR: Fix for iOS Cardboard Left and right camera view is offset too far away from one another due to wrong viewport settings (being backported to 5.6) (912866)”

I’m downloading it atm…

I had a hunch that b8 shouldve fixed it
Its backported to 5.6 but is that to 5.6.1p2?
These 2 were released yesterday (I anticipated the release as they mostly release it after i’m done at work on a friday)
Totally missed that line about this fix while reading

Yep - 2017.1.0b8 does fix the l/r mismatch… time to find out what other critical thing got broken during the fixing!

@lafindutemps that would be funny if it wasn’t so frustrating :smile:

1 Like