If you’re embarking on a VR project of your own, enjoy this candy-coated assortment of resources to support your efforts:
Unity may be a popular platform for VR development, but its impressive functionality comes with a not-inconsiderable learning curve. Luckily, a number of great online tutorials exist to build the foundational knowledge necessary to start creating VR apps on your own:
Coursera – Introduction to Game Development, Brian Winn (Michigan State University)
A hands-on, project-based online course (MOOC) geared at teaching learners the fundamentals of Unity; it was my introduction to Unity and I can heartily recommend it. While I have mixed feelings about Coursera as an enterprise, it is not a reflection of the instructors showcasing their work through the platform – Brian Winn has developed an accessible, well-scaffolded and engaging online course.
Lynda.com – Unity Training & Tutorials
Another freemium skill development platform offering a seemingly infinite set of tutorials on Unity, available to many through subscriptions held by their public libraries. The Cert Prep series and/or Unity3D Essential Training are also good place to start as an alternative to the Brian Winn course mentioned above (since many of the same concepts are covered) but there are also a wide range of other tutorials to develop more refined skills (for example, creating architectural models). The website also has numerous tutorials on using Blender, an open source 3D modelling software often used to create digital assets for use in Unity. Needless to say, if you’re working with Blender, you’re well beyond the ‘dabbling in VR’ stage.
Unity, of course, has its own set of free tutorials that are helpful for delving into specific aspects of Unity development, like designing user interface elements and scripting (there is a series on VR, but it relies on assets that are only available to paying users of the software). There are also paid options for courses offered through site, including a VR nanodegree offered in partnership with Udemy.
Not the most exciting of topics, but just to give a general sense of the environment I’m developing in as a point of reference:
VR Development Platform: Unity
Though by no means the only way to create VR apps, Unity is a free (provided that your fledgling VR efforts don’t rake in more than $100,000 in annual revenues) and widely used game development platform with extensive documentation and numerous tutorials available.
VR Build Platform: Google Daydream with Daydream View headset and Samsung S8+ phone running Android Nougat 7.0
There’s a wide variety of headsets, hardware and platforms out there to run VR applications, so I’ll spare you the gruesome details of how I arrived at my particular configuration of stuff. To summarize, the above platform represents a decision to avoid the expense of the higher-end consumer VR systems while still allowing for greater functionality than the controller-less Google Cardboard. I chose the Samsung phone (as a replacement for my archaic, non-VR compatible iPhone 4) because it works with both Daydream and Samsung’s Gear VR (as well as Google Cardboard) in case I want to switch things up in the future.
Computer Doing the Grunt Work: Asus laptop running Windows 10 home
Nuthin’ fancy – I built the prototypes on my 6-month old laptop. I won’t get into the nitty-gritties of its tech specs (Intel i7-7500U processor, 16GB RAM, etc.) – the point is that there’s no need for sophisticated kit to develop in VR.
The first, no doubt, of many little stumbling blocks I will encounter: my enthusiasm for creating archival interfaces was significantly dampened by my foiled first attempts to build and run a demo VR app on my phone (not to mention some generally buggy performance on the Daydream View headset before we came to an undisclosed mutual agreement). Here, I share the solution I found in the hopes of sparing others of the same frustration:
After having set up my development environment according to the instructions provided by Google and Unity, I received an “Unable to List Target Platforms” error message upon trying to send my app to my phone.
Cutting to the chase, the solution can be found here, with heaps of gratitude to the ‘augmentedVR’ user who posted it with a concise explanation of the issue; basically, there are compatibility issues between newer installs of Unity and the Android software development kit (SDK) so that you have to downgrade your version of the SDK tools (or, at least, fool Unity into thinking that you have downgraded them).
Note: you may also need to install Java development kit (JDK) 8 and update the JDK path in the ‘External Tools’ tab under ‘Preferences’ in Unity.
In solidarity.