Making a Virtual Reality App: The Current State of VR Headsets and Software

A VR Primer

Google posted a blog earlier this year which proudly points out some impressive analytics on the Google Cardboard Viewer. Since its release a year and a half earlier, there have been 5M+ Cardboard Viewers shipped, 25M+ installed Cardboard Apps, 350k hours of YouTube videos watched, 750k+ pictures taken with the Cardboard Camera. The most impressive number for me was the 500k+ students who went on a Google Expedition as a part of their academic curriculum.

While I am amazed and inspired by the above numbers, commentors who had read the blog weren’t about to give Google a free pass. As one visitor put it: “5M Cardboard viewers in use. Impressive. Now give us worthwhile apps (or at least apps that don’t make us nauseated).” The hunger (and the frustration) on display are a reminder that people aren’t content to let the VR industry rest on its laurels. They’re also signs that programmers working in VR can expect their efforts to find an enthusiastic audience but also one with high expectations.

This is what makes our current job of making a virtual reality application so exciting. This is my first true foray into the field of VR, and I’ve been deeply impressed with both the current state of VR technology and what I expect to appear in the near future. If you’re new to the hardware and software on the market, I’ve written up a quick summary of the field as it stands.

Current Headsets

The Cardboard Viewer is a true introductory VR headset. It’s simple, and it’s cheap. Shoppers can purchase one from Amazon for as little as $10, and it’s not unusual to see them given away as promotional items.

On the other hand, players like Oculus Rift  and Samsung Gear offer a more immersive experience than the Cardboard Viewer, but come at a higher price. $599 for the Oculus Rift and $99 for the Samsung Gear. The Gear also only works with a limited selection of Samsung phones.

All the above VR headsets can offer an exhilarating experience, but it seems as though Microsoft has taken this technology to the next level. Microsoft’s HoloLens intelligently maps rooms, mixing holograms with the surrounding environment instead of dropping users into fully simulated environments, paving the way for augmented reality applications. Interacting with holograms is as easy as reaching out and grabbing the object and moving around your environment. There isn’t a screen to touch or a mouse to click. HoloLens uses mind-blowing gesture interpretations, gaze, and voice, enabling you to interact in the most natural way possible. The business applications for this technology are endless.

Some promotional HoloLens footage from Microsoft, the real product follows the same concept, but isn’t so advanced

If you haven’t already, I encourage you to check it out, especially since Microsoft recently put the HoloLens up for pre-order, even if it is selling at the dizzying price of $3,000.

So we’ve seen Google, Samsung, Oculus and Microsoft. You may be thinking, where is Apple in all this. In a post on Mac World dated February 17, 2016, it seems as though Apple is doing their research and have a patent in place. While Apple may have plans to enter this space, no product has been developed.

Programming for Virtual Reality

VR applications, regardless of headset manufacturer, are developed using one of two gaming engines: Unity or Unreal. And because both engines can run on top of Microsoft’s .net framework, Microsoft offers a free download of their Community Edition of Visual Studio, which allows a developer to get up and running, creating 3D applications in no time at all. LookFar’s current VR project will be deployed to Google Cardboad Viewer (for both Android & iOS), in addition to the Samsung Gear. I found the most challenging part was not learning the IDE (Unity in my case) or coding within the 3D space, but rather correctly configuring a project for their specific deployments.

The greatest part of Unity for me is their Asset store. A market place for prepackaged objects, 3D models, scripts, animations, environments, textures and so much more. This allows programmers  who aren’t particularly strong visual designers (like myself) to create high quality experiences only seen in SciFi movies. Suddenly, VR applications and Hollywood-worthy displays aren’t so far-fetched.

VR display

Unity also has a very comprehensive knowledge base which mimics the style of Stack Overflow. Because VR programming is relatively new and each of the headset .sdk(s) are so different, there are very few answers that will work across the board, but there is definitely enough activity in the community that if you post your questions, an answer is sure to follow.

Baby Steps

On a final note, I will say that while the current VR headsets are amazing for what they can do, just like early phone iterations, the technology is infantile and needs time to mature. If someone were to ask me to cast my vote, I would give all the VR headset manufacture’s a 10/10 as well as the Unity IDE for app development, but they’re still only in the very beginning of a technology, which I expect to see mature fully over the next several years.

Mike Arnold

About Mike Arnold