WITHIN on Oculus Go

WITHIN Designer Zach Deocadiz enjoying Oculus Go for the first time

Pushing mobile forward

Today there is more great VR from more creators than ever before. It’s truly inspiring to see how far the human imagination can take us when paired with powerful technologies that integrate into our lives and, increasingly, blur the line between stories told and stories lived. But the magic of immersive technology comes at the expense of true mobility. Tethered headsets, in particular, deliver incredible sensory experiences — but let’s face it, the whole set-up just isn’t very… mobile.

And then we met Oculus Go, a powerful standalone device with a beautiful screen, next-generation lenses, and integrated spatial audio. Oh, and it’s comfortable. Like, really comfortable.

Ready for apps

There’s nothing we enjoy more than exploring the creative possibilities enabled by leading-edge technology, and Oculus Go doesn’t disappoint. Here’s a peek at our experience as an early developer.

Step 1: Turn Oculus Go on

This involves installing Oculus Go Companion App (available on iOS and Android), turning it on, and setting it to sync with the headset. A few prompts later, we found ourselves in Oculus Home.

Step 2: Add WITHIN

The second step in the process: install WITHIN. First we played with some of our favorite apps. Then we sideloaded our WITHIN.apk and crossed our fingers it would work. We were pleasantly surprised when it did.

During our initial run-throughs we noticed that our logo and content icons looked a little pixelated on the higher-res screen. Also, because we had not implemented the new Oculus Utilities for Unity yet, the GearVR controller was displayed instead of Oculus Go controller. A couple pieces of our content weren’t playing properly from our CMS. But these were minor issues amid a promising start.

Step 3: Fix bugs

Next, we established a list of bugs and set our priorities: adding Oculus Go controller support, working on our playback issues, and finally refining the visual experience. We found the playback issues to be rooted in frame rate, and we spent time improving performance until we finally reached a cool 60 fps.

Step 4: Crank it

The default eye buffer resolution (i.e. rendered pixels sent to each eye) in the Oculus Mobile SDK is 1024x1024. We thought the WITHIN app looked good at that resolution, but then we got a little help from the Oculus team to go even further (h/t Chris Pruett).

We ran a profiler on our app in a worst-case scenario, which, for us, is an experience’s detail view with tons of icons behind it, downloading multiple pieces of content in the background.

When we ran the profiler, we were actually at a pretty low CPU and GPU utilization due to the aggressive optimizations our stellar Android team made, so we took the next step: cranking it up to 1440x1440.

WITHIN Associate Producer Spencer enjoying Oculus Go outdoors.

It looked incredible! At 1440x1440 per eye, we couldn’t believe how beautiful WITHIN looked. But there was a new issue: we were having framerate drops in the menu when downloading multiple pieces of content. To improve the frame rate, we ran Oculus Go’s CPU at a higher “thermal profile” during downloads, overclocking it and temporarily making the SOC run hotter. Despite the increased threshold, Oculus Go stayed cool.

From Left to right: Associate Producer Spencer Burnham, Designer Zach Deocadiz, and People Operations Manager Michelle Hamilton enjoying Oculus Go

Oculus Go, like its mobile VR predecessors, enables something we care a lot about at WITHIN: connecting anyone, anywhere, to immersive VR. The WITHIN app is on 9 platforms and counting, and we’re super excited to be a part of the launch of Oculus Go.

Blog post by WITHIN Technical Product Manager Nima Zeighami.
Photos by WITHIN Content Coordinator Jonathan Ho.