6 Questions to Ask Before Diving into VR Development

Augmented Reality ,Blog Posts ,Programming ,Virtual Reality
January 13, 2016

Several weeks ago, I posted an article about how I got into VR development and ended on a few points that I used to guide myself through the process of learning virtual reality development. Since that post, I’m often asked for more advice on how to get into the industry or how to start making money as a VR developer, and the truth is that this varies immensely on a case by case basis. That said, there are a few things that I encourage everyone to consider before taking the plunge into VR development — if you’ve been thinking about becoming a virtual reality developer, this post is for you!

6 Questions to Ask

1. What hardware is available to me?

Not every VR developer has every device out there. Some development studios are working on exclusives, and content creators who are close to launching popular titles often have contacts at the major device manufacturers who give them exclusive access to developer hardware. When you are just starting out on your journey as a VR developer, it may not be feasible to get hands-on with the more expensive devices right away, which isn’t a problem, but is something to help you narrow down the scope of what your first projects should aim for. Desktop-caliber VR headsets generally require a beefier computer than what you may already have, but mobile VR has created a lower entry point for developers who are just starting out.

You probably don’t want to try to build a game without access to specialized hardware that you may need, so keep that in mind as you start thinking about your application and the hardware requirements it may have. Not having the exact consumer device won’t be a showstopper, but you may not want to dive right in with developing for Oculus Touch if you want to be able to start testing right away and have no experience with building VR apps.

2. How much money am I willing to invest?

You can begin developing for VR without a huge upfront investment. Although there was some backlash when Oculus announced the $599 price tag for the first version of the Rift, the current VR industry doesn’t require that much of an investment right out the gate, especially if you’re a developer who wants to try out an experiment or two before making the decision to develop full time for VR. At the lower end of the spectrum, Cardboard is a great entry level headset and provides a free SDK for getting started — great for anyone with an iOS or Android device and a preliminary interest in virtual reality hacking. Many of the basics for virtual reality development are around 3D programming in general (of course, the more serious you get about building apps, the more specialized knowledge will be required) and learning how to build an app for Cardboard to start with is still going to be helpful if you decide to make the investment later on to buy more resource-intensive devices and hardware.

vr headset on a glass head

There are VR devices coming in at just about every price point

Cardboard viewers start at about $12 on Amazon. If you’re looking for something a little higher end, you can find other mobile viewers from $35, or, if you already have a Samsung Galaxy S6, S6 Edge, Note 4, or Note 5, you can consider a GearVR for $99. The desktop-based Rift will run you $599 on a preorder, and preorders for the HTC Vive will open February 29th, 2016.

On top of the device costs that you might have, consider putting aside some money for events and meetups. Many VR meetups will have a small cover fee to help address the expenses of venues and food, but are invaluable resources for networking with other developers and learning about the news in the industry. Conferences can be another great resource for learning and seeing what other developers are working on, but can be costly if not added to a budget in advance.

3. What is the time commitment I’m looking for?

a clock with the matrix effect overlaid

Going down the rabbit hole can be a time-sucking endeavor, but it is also incredibly rewarding. First, you read about the VR industry and start to get the prerequisite background knowledge about the device ecosystems, design strategies, and figuring out what device to buy. Then, you get your first headset and are inundated with fun new apps to try and spend time in. After that, you get to dive deep into a particular platform, learning new APIs and toolsets, and you might start talking to developers on Twitter or ZapChain. This is something that is within your control, but it definitely helps to think about how much time you want to commit to building an application or learning more about the ecosystem.

If you’re just starting out with the industry and want a quick primer, I made a 10 minute overview video on the basics of VR development that help provide a 30,000 foot view of today’s developer ecosystem that might help you flesh out an idea of what approach to take for your own learning strategy.

4. How can I make my existing knowledge work for me?

When I first began experimenting with VR development, I chose Unity as the game engine I wanted to work with because I had 4 years of C# coding experience on the .NET platform building applications for Windows. There are quite a few options for building virtual reality apps today, so one thing to think about when you’re deciding where to start is whether you want to learn an entirely new skill set, or build off of your existing developer knowledge to ease into it.

If you are a web developer:

  • UnityScript is a JavaScript derivative that can be used for scripting for Unity games and applications
  • WebVR is an experimental API that uses Three.JS and WebGL to create VR-enabled websites in Firefox and Chromium
  • A-Frame is a new markup language from MozVR that allows you to write VR content using an HTML-style language for browser-based VR

If you are an Objective-C or Java developer:

  • Unity supports building apps to both of these mobile platforms using C#, UnityScript, or Boo for scripting
  • Cardboard and GearVR have native SDKs for using Java to build native Android applications through your mobile IDE of choice, or Objective-C in Xcode.

If you are a C# developer:

  • Unity supports C# scripting with rich 3D building tools in their editor
  • Unity cross-platform export functionality to multiple platforms, including Android, iOS, Windows

If you are a C / C++ developer:

This isn’t, of course, a comprehensive list, but it may help you figure out what may be most relevant for you. Developers just looking to see what goes into a sample application or poking around at an example codebase may find the following resources useful:

5. What do I want to build?

You don’t need to know the exact answer to this question to start playing with VR development, but if you have a long-term idea or two in mind, you can use that to sculpt out how you want to structure your learning path and demo projects. If you know in the long run you want to write a VR-enabled website that makes heavy use of existing APIs and JavaScript libraries, working in WebVR from the start is likely going to be more helpful than sitting down with Unreal and learning how to use Blueprint. Also consider the different applications of virtual vs. augmented reality devices, and whether you have a specific device family in mind to build for.

(c) Microsoft - www.hololens.com

(c) Microsoft – www.hololens.com

In addition to helping you decide what tools you’d like to start working with, having a basic idea of what you think you may want to build in the future will help break down your projects into actionable, applicable learning steps. If your dream application involves beautiful environments and rich textures, learning how to use a terrain editor is a good first step. Curious about writing your own stereoscopic renderer to create innovating tooling solutions or upgrading an existing game that you’ve written from scratch? Playing around with a native SDK and the graphics pipeline will help you see how other implementations are being done.

6. Do I have a niche area of interest already?

If you’re incredibly passionate about rich 3D audio, it might not make sense to get started from scratch learning a particular framework for, say, lighting and environment design. Consider what your interests are and how they may be relevant to the growing VR industry. See if you can find a few developers already working in the realm you might be interested in and ask if you can send them a few questions over email to see if it might be an area worth digging into more. If you’ve got an interesting idea, try looking at GitHub to see if there are any projects that you can read through and contribute to. Be creative!

 For more resources about the virtual & augmented reality industry and how to learn VR development, consider subscribing & follow me on Twitter @misslivirose!

Related Posts

6 thoughts on “6 Questions to Ask Before Diving into VR Development”

  1. Great article. Very informative and to the point.

    1. misslivirose says:

      Thank you! 😀

  2. tom says:

    This is great! Very informative. Thank you!

  3. Talyta Lam says:

    I just finished my undergrad degree in anthropology and now jumping to learn VR development with no solid background in computer science /maths at all (let alone programming or animation). I give myself one year to grasp as much as I can and see where life takes me. My ultimate goal is to make a VR game related to art/antiquity. Hope i will stay motivated till the end!

    Right now I am learning web development on Udacity. I am also super excited to know that they are developing a nanodegree for VR development. Any thought on that?

    1. misslivirose says:

      Definitely stay motivated! The truth is that the field is still so young in it’s renaissance that there are years ahead of us to be learning and growing as creators. I personally know several of the folks working on the Udacity nanodegree course, and they’re great – I don’t know too much more than what they’ve announced, but I think it will be a really good primer for getting ready to develop for VR!

Leave a Reply