Converting the Unity project from Google Cardboard to Oculus Go

Hello people! I am writing this to share my own story of a few nights of struggle hoping that it will save someone’s mental health and sleep.

Cat also participated actively in the project

1. Start simple.

If it’s your first project with Oculus Go, try to deploy a simple working project first, and then add assets/scenes/prefabs that you had in your previous project. If you are converting between different devices, always keep in mind that the controllers/cameras properties may differ. What I was struggling to find when converting from Cardboard to Go is a working demo with usage of the controller. I find it weird that the Unity package in the Asset Store doesn’t contain it, so feel free to use this one: https://developer.oculus.com/blog/easy-controller-selection/

2. Check the Unity version

At some point, I was deploying my app and it was just randomly crashing — sometimes working, sometimes not, sometimes only showing the Unity splash screen and driving me crazy. After some hours of googling, I found that it’s better to use a lower version of Unity — 2019.2.13f1 worked like magic for me. So if you also experience some random behavior or you cannot import Unity asset for Oculus — just try to downgrade.

3. Use the original cable

Well, I cannot say how annoyed I was when I discovered that ADB didn’t recognize my device, not because of the drivers but instead of me trying to use a cheap android charge cable. Here I share with you a great step-by-step tutorial for connecting your Oculus Go to the Unity: https://www.youtube.com/watch?v=LSypZfOChYE

4. No emulator

Unfortunately, you cannot check the app in the same way you would with Cardboard with a play button. Every time you need to deploy it to the device to see changes :(

5. Rebuild the app

And the last piece of advice while you migrate your project from Cardboard to Go— do not try to change configurations and hope that it works, just start from the beginning. Deploy the sample app to the device (I recommend using the one from point 1 as it already contains the controller) and then copy your scenes, textures, images, scripts, etc to the new project. I personally do not trust Unity when it comes to exporting dependencies:) Feel free to copy the camera and controller from the main-menu sample and delete all of your Gvr_whatever objects. Yes, it can be a pain when you try to rebuild everything from zero — connecting all of the logic altogether, but I think in the end it makes you safe from some random errors that you can experience by just changing the settings in the old project.

Let me know if you want to see a more detailed conversion of a scene from cardboard to go :)

Have fun!

Cat believes that you can do it!

Master student at Biomedical Computing TUM | Research assistant | Munich