Jump to: navigation, search

How to Get Started in VR Development

3,473 bytes added, 05:50, 3 January 2017
no edit summary
* '''[[Google Daydream]]''' - unavailable but supported by UE4 now, Unity support coming in the summer
* '''[[OSVR HDK 2]]''', $399 - will be released in July; no announced motion control
==2. Learn about the software==
Designing for VR is much like designing videogames, as they are both 3D interactive experiences. The difference between designing for VR and designing for traditional videogames is that special considerations must be made for the nuanced experiences of presence and immersion, nonlinear storytelling, locomotion which reduces motion sickness, and graphical optimization.
Most VR developers opt to use a game engine (unless they're developing for WebVR, discussed below), and should decide which they want to work with early on. Two most popular are [[Unreal Engine 4]] (UE4) and [[Unity]]. Both of these engines are very capable and will become the tool that you rely on most in your development; both have very active communities with vast resources out there to help you. These are freely available software suites capable of managing 3D environments, importing custom assets (such as 3D models, imagery, sounds, video), and programming interactivity or gameplay. Most useful of all, there are an insane number of YouTube tutorials and online guides for both engines, both official and fan-created.
There is no absolute agreement in the VR developer community that Unreal is a "better" engine than Unity, nor vise versa. However, they do have distinct personalities. UE4 is characterized as being more computationally optimized with greater visual fidelity but a steeper learning curve; on the contrary, Unity was designed to be powerful enough to drive commercial-quality games while remaining more intuitive and efficient for beginning designers. Unreal Engine 4 is free to download and use, but as a condition of use they will take 5% of your net revenue (above $3000) per quarter. Unity has multiple versions with different costs, but Unity Personal is free to use. If possible, it might be best to try both of these engines to see what suits you best, however it's hard to go wrong here, both offer a lot of value and are very capable.
Outside of game engines, you may opt to develop interactive VR webpages using [[Mozilla's A-Frame]] markup language, or by using JavaScript (hack around with [[Three.js]]!), HTML5, and/or WebGL in the vein of web experiments recently put out by [[Chrome]] and [[Mozilla]]. Developing for web has the convenience of using a smartphone as the display, so you won't need an expensive headset starting off. You also won't need to compile or package any code, and can easily share your creations with your friends who also own smartphones. If this sounds like a lot of work, maybe try the easy-as pie VR scene editor [[Vizor]], which allows you to design VR imagery on the computer and then view it from mobile.
Once you've chosen an engine or web application, the next step is to get familiar with it. Learn the basics of whatever programming language your tools use -- whether it's [[C++]] and [[Blueprints Visual Scripting]](UE4), [[C#]] (Unity), or a custom markup language for web applications. If you're developing for Android, download [[Android Studio]] and try [[deploying a basic app]]. For Cardboard and Unity, check out [[Google's SDK]].
The /[[learnVRdev wiki]] has links and resources that you will find useful when trying to learn how to use an engine. It's best to follow through with some tutorials to get a feel for the engine, how to manipulate objects in space, and so on. Both Unity and Unreal offer built in VR support, so you can preview your creative works directly in VR!

VR and AR  Wiki Discord Logo

Navigation menu