Virtual Reality, A-Z
A few months ago I started my own journey into virtual reality (VR) development. VR leverages existing game development platforms such as Unity or the Unreal Engine. If you’re just starting out you’ll need to get familiar with at least one of them.
Unity in particular appeals more to the research community and indie game developer, whereas Unreal Engine is more targeted to the professional AAA game developer. I decided to start with Unity and will likely branch into Unreal in the near future.
There are many resources out there that can help you get started, so let’s break them down.
Unity’s Tutorials (https://learn.unity.com/)
Unity has their own tutorials and learning platform with both free and paid subscriptions. Unity temporarily has their premium paid content available for free during the pandemic, so it’s a great time to check out some of their tutorials.
Unity has tried to group their videos by subject in an attempt to offer a more curated learning experience. However, the videos in each collection vary widely in content and seem to have been created at different times by different groups. Each individual video is typically well made, though you’re not likely to find an A-Z solution for your learning.
It’s important to note that the difficulty of these series is sometimes misleading as well. A course titled “Beginner Scripting in Unity” may actually contain intermediate videos.
Udemy Tutorials (https://www.udemy.com/share/101WeyCUcbclZUTXw=/ )
This gamedev.tv course on Udemy (often on sale for ~$15) is the most polished introduction to Unity currently available on the internet. Rick and Ben will guide you through Unity and the C# scripting language. Unity may be branching into other fields, but first and foremost it’s a game development platform and these tutorials are a great introduction to the various concepts and workflows.
VRTK – Virtual Reality Toolkit https://github.com/ExtendRealityLtd/VRTK
The Virtual Reality Toolkit (VRTK) has a large community of VR developers and is completely open source. These tools can be imported directly into Unity by following the instructions on their github (link above). This toolkit is by far the quickest way to get started with VR development. You can simply load their “farm scene” and see examples of different tools in the toolkit.
Depending on what you’d like to do with VR, you can make quite a lot of content directly in the example scene. This series of videos is an excellent introduction to the basic toolkit:
What’s under the hood?
Once you’ve gotten your bearings with VRTK and Unity there are a few directions you can take. If you’re happy just knowing how to use the pre-made tools, feel free to skip these videos, but the following are great resources to learn the how and why behind VRTK.
Deep dive into Malimbe and Zinnia: https://www.youtube.com/watch?v=Z2oXeTUsE3s
The VRTK developers created their own framework within Unity called Zinnia. This is a collection of very common Unity scripts and allows them to essentially build complex functionality for their toolkit completely in the Unity Editor (reducing overall coding).
Introduction to Tilia: https://www.youtube.com/watch?v=OjEtwTAxnME&t=261s
(You’ll likely want to scrub into this video a bit). Tilia in a nutshell is VRTK’s effort to abstract the different tools in their toolkit. This allows users to just install the packages that are relevant to their existing projects. It also has the added benefit of granular version control for each package. No one wants code bloat, and this is a trend seen in across the various coding industries.
Creating something from scratch?
At the end of 2019 Oculus published an excellent series of tutorials called Design, Develop, Deploy for VR. This series of videos is completely free and digs deeply into VR development. Their internal team guides you from ideation of a VR app all of the way to marketing your applications and publishing within the Oculus store.
The tutorials walk you through each topic at the conceptual level with additional insight into the surrounding industry and tips throughout. This is a great resource for anyone trying to get into VR that already has a firm understanding of Unity or even has used VRTK in the past and would like to see the various best practices.
If you’ve made it this far you’re likely a powerhouse of VR knowledge… now to make something! What I quickly found at this point was that to create anything noteworthy in VR you’ll need to at least understand and ideally be able to create 3D models, or be willing to pay to have them made! Look out for a future article on how to create 3D art assets for any skill level.