In this ongoing series, I have been detailing the virtual reality platforms while focusing on hardware and software. Today, I detail and discuss one of the most popular VR software platforms called Unity. If you have any interest in virtual reality game development, virtual reality interactive experiences, and even virtual reality video players, you owe it to yourself to check out Unity.
What is Unity?
Unity is a cross-platform game development engine that has taken the gaming world by storm. Unity supports almost every console, PC, Mac, and Linux hardware platform that is out there right now. It supports every VR headset as well. Nintendo loves Unity so much that it even distributes Unity licenses for companies interested in developing for the Wii U, the 3DS, and the Nintendo Switch. The wide array of compatibility that Unity provides makes it one of the most popular game engines for beginners and even experienced virtual reality developers.
History of development
Unity was one of the first game engines to have proper robust web support. This means that high quality Unity games could be played smoothly on a web browser. Unity was one of the first engines that could be used to create games and interactive virtual reality experiences for Google Cardboard. A member on GitHub has even built a bridge API that links Unity web apps to WebVR. Although not quite as cutting edge in terms of graphics, Unity stands neck and neck with the Unreal Engine in terms of features but also for its online community store (more on this later).
Tech-Specs
To maintain a high level of compatibility, Unity uses Direct 3D and Vulcan APIs on Windows machines and Open GL on Macs and Linux boxes. This provides developers the flexibility to port their game or entertainment applications to the platform of their choosing without having to spend a ton of time rewriting code. Additionally, Unity keep their engine up-to-date with the wiz-bang graphical effects like normal mapping, bump mapping, specular mapping, god rays, cloth simulations and many more.
https://www.youtube.com/watch?v=PwkxtdG1Pog
Besides keeping up with the graphics race, the developers at Unity have streamlined their software to provide the best possible virtual reality platform. They say that Unity uses “a highly-optimized stereoscopic rendering pipeline and the tools to help you further optimize your content.” An optimized rendering platform is a must, otherwise your VR games will make people puke up their guts, but not in a good way.
Assets and Plugin Support
Choosing to leave the door open for developers, the Unity masters have made their engine compatible with plugins that they call assets. Beyond providing their own excellent software support, Unity provides support for assets in amazingly diverse asset store. There is a huge amount content available in the Unity asset store for virtual reality development. That said, there is a small cost to pay for using custom assets for VR.
Speaking of how 3rd party assets can somewhat limit the performance, Unity says “Unity extensibility also allows any third party hardware manufacturer to develop their own plugins and SDKs. You won’t get all the benefits of our highly optimized pipeline, but you can still use Unity to create an impressive VR/AR experience. Third party plugins already available include the Cardboard SDK for Unity, OSVR, MergeVR and Vuforia.”
https://www.youtube.com/watch?v=q5ejxITvEh8
I think the huge amount of assets more than makes for the potential performance losses. The assets for sale include set-ups to make VR theaters, VR fps games, flight navigation plugins, HTC Vive controller plugins and much more. Browse the Unity asset store to take a look at the essential plugins. Download a few, and you will be on your way to becoming a VR dev in no time.
VRTechie says
I like the third-party plugin support making it to be available across platforms.
VRJunkie says
need to try this
todd98 says
This seems interesting. I’m a new dev and I’m interested in doing VR. Subscribing in this series. Great work. Thanks
omater65 says
if that is so surely man you need to get in to unity, I remember when I was working in a development company they were doing many projects in unity for iOS games and this was the major engine that they used to talk about.