The Complete Beginner’s Guide to VR Development
Welcome to The Complete Beginner’s Guide to Virtual Reality Development. Congratulations! You have taken the first step in becoming a VR Developer.
The journey of a thousand miles begins with a single step
- Lao Tzu
Today, in the age of technological information it is easier than ever to pick up a new skill. Investing a couple hours each day will build into something amazing over time.
Before I get any further, I’d like you to know exactly what we will cover in this article and who this is for.
Complete Beginner’s Guide to VR Development:
- Why you should start Developing today
- Why the VR Industry needs people like you
- Requirements before jumping in
- VR Industry Standards & Terminology
- Collection of Advice & Resources from VR Developers
This article is for those who want to begin developing VR applications. It doesn’t matter if you’re a beginner and never opened a compiler in your life or a seasoned veteran.
Here we go!
Why Should I Start Developing Virtual Reality?
You might be a newbie that’s never programmed anything.
OR
A seasoned veteran with years of experience in the field.
Whatever you answered you should also ask yourself the following questions:
1. Do I want to be on the front lines of an aggressively growing industry?
2. Do I want to develop VR applications that could potentially change people’s lives?
3. How much money and time will I invest in this skill?
and the most important of all
4. What VR applications do I want to build?
You most likely have some awesome ideas of what you want to do in Virtual Reality. Ideas can range from a game or an application that can improve the lives of people around the world.
Start developing VR programs if you want to work hard and see your work pay off in a technological way that’s never happened before. This isn’t like coding an iPhone app where after development you open the app on your phone and see your work. Making a VR app is difficult sure, but after development, you can open your application and EXPERIENCE what you have just created.
Statista Predictions and Reports:
Virtual Reality software revenue worldwide from 2015 to 2018 (in million U.S. dollars)
Number of active virtual reality users worldwide from 2014 to 2018 (in millions)
Number of paying virtual reality users worldwide from 2015 to 2018 (in millions)
Why the VR Industry needs Developers (like you)
Ask anyone in the VR industry today:
“What is the biggest obstacle that stops VR from becoming mainstream?”
Hardware or Software
Issues surrounding VR Hardware will be solved in the coming years. Among some other issues, the main obstacle is the lack of content/software.
Don’t believe me?
“for VR to make a proper splash, today’s software developers must focus their efforts on creating content that consumers will use on their headsets.”
– Tony Scherba of TechCrunch
and
“it’s hard to convince people to buy a VR headset if there’s nothing to watch or play on it. And it’s hard to convince developers and producers to make content for a device that nobody owns yet. It’s a bit of a chicken-and-egg problem as far as content goes.”
The Virtual Reality Industry needs developers like you to create content. There is a huge range of possible applications you can create like games, healthcare apps, and even disaster relief training applications.
Here’s an Analogy.
Take the iPhone for example. Before the App Store, an iPhone was just a touch screen smartphone. Users could call, text, and browse the internet on the go. What took the iPhone to the next level was the open marketplace (app store) that Apple created. The app store allowed developers to create anything and place it in a market with millions of potential customers.
That is what took the iPhone to the next level. It’s evident today by the numbers.
So. Are you ready to start developing VR applications?
First things first…
Requirements — Before you Jump In
Note: These requirements are dependent on what kind of VR apps you want to build.
- Android users will need a computer running Mac OS X (10.8+) or Windows (7, 8, or 10) to deploy their VR apps.
- iPhone users (iPhone 5 or later) will need a Mac running Mac OS X (10.8+) to deploy their VR apps.
- VR-ready PC (Intel i5 or greater, high-end graphics card)
- Mobile VR Headset — Selection here
- Burning Desire to Learn
Virtual Reality Industry Standards & Terminology:
Why is this important you ask? You should know the industry standards and commonalities associated with the development sector. This is beneficial for general development and employment. Get familiar with these terms as soon as you can.
Unreal Engine 4
UE4 is a complete suite of game development tools. Computationally optimized with greater visual fidelity but a steeper learning curve. Free to download and use, but as a condition of use they will take 5% of your net revenue (above $3000) per quarter.
Check out Unreal’s subreddit: /r/UnrealEngine
Unity 3D
Unity is a powerful cross-platform 3D engine and a user friendly development environment. It’s Easy enough for a beginner and powerful enough for an expert. Unity is great for anyone who wants to create applications for mobile, desktop, the web, and consoles. Unity has many versions with different costs, but Unity Personal is free to use.
Check out Unity’s subreddit: /r/Unity3D
WebVR
An experimental Javascript API that provides access to Virtual Reality devices. Including HTC Vive, Oculus Rift or Google Cardboard, in a web browser.
Get familiar with these languages, apps, and platforms for WebVR.
WebVR Boilerplate
The WebVR boilerplate project is on github, and consists of two parts. Firstly, the WebVR polyfill provides WebVR support for Cardboard-compatible devices, and orientation tracking fallbacks where no headset is available. The WebVR polyfill can also be installed from npm (available via npm install webvr-polyfill).
1. An HMD, provides a reasonable default for interpupillary distance and field of view for cardboard-like devices.
2. On mobile devices, a GyroPositionSensorVRDevice, which provides orientation through the DeviceOrientationEvent.
3. On PCs, a MouseKeyboardPositionSensorVRDevice, which provides orientation through keyboard and mouse events.
A-Frame
A web framework for building virtual reality experiences With HTML and Entity-Component ecosystem. Works on Vive, Rift, desktop, mobile platforms.
Vizor
Web Platform for exploring, creating, and publishing virtual reality on the web. Discover 360 and 3D content in VR on your phone, or in 2D on your web browser or tablet.
Check out WebVR’s subreddit: /r/WebVR
C++ (UE4)
C++ classes can be used as a base for Blueprint classes, and in this way programmers can set up fundamental gameplay classes that are then sub-classed and iterated on by level designers.
Check out this Introduction to C++ Programming in Unreal Engine 4 here.
Blueprint Visual Scripting (UE4)
The Blueprints Visual Scripting system in Unreal Engine is a complete gameplay scripting system based on the concept of using a node-based interface to create gameplay elements from within Unreal Editor. As with many common scripting languages, it is used to define object-oriented (OO) classes or objects in the engine. As you use UE4, you’ll often find that objects defined using Blueprint are colloquially referred to as just “Blueprints.”
Check out this Introduction to Blueprint in Unreal Engine 4 here.
C# (Unity)
A simple, modern, general-purpose, object-oriented programming language developed by Microsoft within its .NET initiative led by Anders Hejlsberg.
Check out this helpful Coding guide by Unity for the Absolute Beginner here.
Google VR SDK (Unity)
Build virtual reality applications for Android and iOS using Unity and the Google VR SDK. Unity’s native integration with Google VR makes it easy to build Android applications for Daydream and Cardboard. The Google VR SDK for Unity provides additional features like spatialized audio, Daydream controller support, utilities and samples.
Unity’s native support for Google VR makes it easy to:
- Begin a new VR Unity project from scratch
- Adapt an existing Unity 3D application to VR
- Make an app that can easily switch in and out of VR mode
Choose a platform below to get started with Unity.
Advice & Resource from VR Developers
1. TonyVT SkarredGhost
“Be patient because VR at the moment is mostly trial and error and from a business side is hard to get money.”
Recommended Resources:
- How can you begin developing for virtual reality?
- How a developer can reduce motion sickness in VR games
2. Rob Crasco
“I always point people to Unity3D if they want to get into developing, it’s more or less the standard at this point. Udemy has a nice course.
Good way for people to get their feet wet. No real way to get around the programming part of it, that would be my only warning for people looking to get into it.
Start Today! Truthfully you don’t get opportunities to jump into an industry this early on, very often.”
Recommended Resources:
3. Mike McCready
“The most important aspect to consider when starting to develop a VR app is the planning phase. This requires and understanding of the user experience within a particular headset as well as the various nuances with each headset.
For example, when developing for the Gear VR (mobile VR), you cannot use movable light as the processing capabilities of mobile devices are not powerful enough. Planning a VR app involves a slight shift in process. With traditional apps and games, the planning involves wireframing and storyboarding the experience and interactions. With VR development, the process is three-dimensional.
Storyboarding for VR involves visualizing in a 3D space. In addition to the differences in designing the app layout, interaction design is quite different than traditional app design. Positional tracking, gaze input and spatial audio cues are some of the different ways users interact with a VR app.
The best way to get a grasp on VR interactions is to use VR. Get a cheap VR headset and play some games and apps yourself. Make note of what works well and what doesn’t.”
Recommended Resources:
4. Kat V Harris
“When I was first starting out I mainly watched a bunch of videos from Unity’s website. They have great tutorials and sample code. I also just started playing around with different engines and tested things out.”
Recommended Resources:
5. Mike Amerson
“Start off small. Don’t try to create your grand game design idea of Open world MMO, Grand theft auto meets Call of duty meets Skyrim game. You’ll never get it off the ground because big ideas take lots of people, and you can’t hire lots of people unless you have lots money, and you can’t get lots of money from an investor or publisher if you have no experience. So start off small, baby steps. Make something thats already out there like a tetris, or a match 3 game. Get your feet wet in the development process before proceeding to move onto bigger and better things.”
Additional Resources
- Google I/O 2015 — Designing for virtual reality
- Designing for Google Cardboard
- From product design to virtual reality
- Virtual Reality Developer Training
- Udacity’s VR Developer Nanodegree
Cheats & Shortcuts
You’re off on your journey to discover the ever-changing world of Virtual Reality Development. Oh..what’s that? Do you need a quick fix or solution?
Luckily, for you, we’ve gathered the best VR programs that require no coding and have a very small learning curve.
ENTiTi Creator — Augmented & Virtual Reality Content Creation Platform
Insta VR — Make your VR apps in Minutes
Viar 360 — Create and Publish interactive cinematic VR experiences
Conclusion
Check back on this page frequently for updates and additions.
We’ve seen a tremendous amount of disruptive change coming from the Virtual Reality Industry. It is surely certain that this kind of content will accelerate based on trends in the future.
You most likely have some other VR ideas that can change the world! Share them with us on social media!
Originally published at www.vudream.com on February 21, 2017.