Unity
by Jacob, Duncan, Brandon, Jen, Martin, and Lucia
Overview
Unity3D is a popular game engine for 2D and 3D games, including VR. Unity's greatest perk is that it is among the most accessible and beginner friendly game engines, but still allows users to have full control over developing professional games and tools.
We compare it to other VR development software here.
Tutorials
Tutorial #1: 'Hello Unity World': Get a handle on the basics of the GUI and putting a classic 'Hello World' in space. Time: ~30 min
Tutorial #2: 'Hello World' meet 'Sphere': Make a variety of objects and have them interact using colliders. Time: ~30 min
Tutorial #3: 'Hello World, Bye World': Extended version of Tutorial #2, includes some interaction with Blender. Time: ~2 hrs
Tutorial #4: 'Throw a Ball': Make a carnival game with physics that you'll want to spend hours playing. Time: ~1.5 hrs
Tutorial #4.1: 'Throw a Ball': Make the same game, but with the latest version of SteamVR. Time: ~1 hr.
Tutorial #5: 'Teleporting': Make it so you can move around Tutorial #4 - you'll never want to take the Vive off! Time: ~30 min
System Requirements
For development
OS: Windows 7 SP1+, 8, 10, 64-bit versions only; Mac OS X 10.9+; Ubuntu 12.04+*
Server versions of Windows & OS X are not tested.*Unity 3D for Linux is still in development and prone to instability.CPU: SSE2 instruction set support.
GPU: Graphics card with DX10 (shader model 4.0) capabilities.
The rest mostly depends on the complexity of your projects.
Additional platform development requirements:
iOS: Mac computer running minimum OS X 10.9.4 version and Xcode 7.0 or higher.
Android: Android SDK and Java Development Kit (JDK); IL2CPP scripting backend requires Android NDK.
Universal Windows Platform: Windows 10 (64-bit), Visual Studio 2015 with C++ Tools component or later and Windows 10 SDK
For running Unity games
Generally content developed with Unity can run pretty much everywhere. How well it runs is dependent on the complexity of your project. More detailed requirements:
Desktop:
OS: Windows Vista SP1+, Mac OS X 10.9+, Ubuntu 12.04+, SteamOS+.
Graphics card with DX10 (shader model 4.0) capabilities.
CPU: SSE2 instruction set support.
iOS player requires iOS 7.0 or higher.
Android: OS 4.1 or later; ARMv7 CPU with NEON support or Atom CPU; OpenGL ES 2.0 or later.
WebGL: Any recent desktop version of Firefox, Chrome, Edge or Safari.
Universal Windows Platform: Windows 10 and a graphics card with DX10 (shader model 4.0) capabilities
Metrics
Accessibility: The estimated time for someone to create Hello World in VR
Beginner: No coding or graphics experience | 2+ hours
Intermediate: Some coding or graphics experience | 1+ hours
Advanced: Both coding and graphics experience | 30+ minutes
Expert: A lot of experience with computer graphics, specifically with this software | 30+ minutes
Power: The engine's power - i.e. how much one can do with this
Medium: Almost anyone can learn how to use Unity. It isn't extremely easy, but it's doable even for people with little programming experience. But while the Unreal Engine can be used to make extremely photo-realistic renderings, Unity hits a cap at a much lower level of complexity.
Usage: Evaluation of software's use for the following purposes
Game design - built for game design and used worldwide to create some of the most complex, well built games around
Other - not intended for science
Summary
Overall, Unity is a powerful tool that can be used to make extremely complex games. Games made on Unity can be easily exported to a variety of platforms. It doesn't have the power of Unreal Engine, but it is more than enough for most projects (even professional). It is easy to use for VR development thanks to the GoogleVR and SteamVR plugins. We strongly recommend using Unity to make any VR games.