App Development Guide for VR and AR

In order to create a VR or AR application you should:

  1. Decide which VR or AR device you’re aiming targeting your app on, e.g:
  • On a VR Headset? (Click here to see the most popular VR headsets in the market – article to be published on 23/08).
  • On an AR Headset? (Click here to see the most popular AR headsets in the market – article to be published on 23/08).
  • For a smartphone (AR app)
  • Will you also develop for a controller that detects your body gestures and motion (e.g. Sixense, Leap Motion)

2. Each device comes with an SDK (a set of software development tools that allows you to create applications for a specific hardware device and software platform or OS). You’ll need to download the appropriate SDK and runtime environment (a virtual machine that you can execute your program on)

Some SDK’s are device-specific whilst others are cross-platform, e.g.

3. Select a development platform to create your app project on

  • Unity — Development platform, supporting VR development.
  • Unreal Engine — Game development platform, supporting VR.
  • WorldViz— supports multiple VR hardware solutions
  • GameWorks VR —  NVIDIA developer platform
  • OpenVR – HTC and Valve’s Software Development Kit (SDK). Supports Valve’s SteamVR platform , Unity via the SteamVR Unity Plugin and has native SteamVR support in Unreal 4.8
  • OSVR — Open Source Virtual Reality standard being developed with hardware maker Razer. OSVR plans to be the unifying for a variety of VR hardware makers
  • High Fidelity —  Open Source software for shared Virtual Reality
  • Moz VR – From Mozilla, enabling you to create Virtual Websites

4. Instead of starting from scratch it helps to check out the tutorials and code samplesthat are available for each development platform

5. Consider using a separate 3D Modeling Program to create new models to use in your app:

Or download existing 3D Models from repositories such as:

6. Understand the limitations of the device you’re developing for. Read the 10 things you need to know before developing for the Gear VR for more tips.

7. Always be cognisant of the challenges of developing VR applications. e.g. keep in mind latency issues, motion sickness and cross-platform limitations.

If you have any further advice for this article please let me know. I hope it helps.

Additional References:

Chris McCann’s article “Virtual Reality (VR) Market Ecosystem Map” was a great help when preparing this article. His article covers more VR solutions.

Ben Loveridge: “Getting started with virtual reality development

Image: code.close() by Ruiwen Chua under CC by SA 2.0 license