Few markets are as hot as virtual reality (VR). Apple, Microsoft, Google, Facebook, and others are all implementing VR or its siblings augmented reality (AR) and mixed reality (MR).
When consumers and corporations look at VR, their attention usually goes to the hardware: headset resolution, room-scaling sensors, hand controllers and the like. But if you’re looking to integrate VR into your company’s workflow, the software engine that drives it is every bit as important as the hardware it runs on.
While there are several different software engines in today’s market, the two heavyweights are Unreal and Unity. With established track records, legions of users and fans, widespread support on multiple platforms, support for all of the major VR hardware and reasonable licensing terms, these two engines are in a constant battle for domination. Which should you choose? Let’s look at these two engines and see what they have to offer.
Unity was first introduced in 2005 and quickly gained traction as one of the premier gaming platforms. Unity’s stated goal is to “democratize game development,” and every decision about how the engine works is a reflection of that: for good and bad.
Both languages offer high-level features such as ‘garbage collection’, a way to automatically recover memory from objects that are no longer being used. For many programmers, this is a big advantage, as it makes it easy to manage your memory utilization. The downside, however, is automatic garbage collection—as well as many other high-level features—comes at the price of performance.
The same is true for libraries. Programs created with C# include a lot of overhead and libraries. While these libraries make development easier and faster, they lead to larger applications than those created with competing, more low-level programming languages.
One of the things that helped Unity stand apart since its introduction is its support of both 2D and 3D games. This has helped it carve out a niche among mobile developers. To this day, Unity is one of the premier mobile game engines.
When taken together, all of these factors make Unity a good option for developers whose VR needs are relatively light, or who primarily plan on developing VR for mobile devices, such as Samsung Gear VR or Google Dashboard.
Unreal, currently on Unreal Engine 4 (UE4), has the longest track record of being the premier development environment for high-end games. If a game studio wants to develop the next-generation game with the most immersive, high-quality graphics available, Unreal is the engine of choice. There are several reasons for this.
First and foremost, UE4’s source code is open, giving developers complete access to customize and optimize their development. No matter how specific or niche a developer’s needs, source code access makes it possible.
That focus on performance is also apparent in other ways. UE4 includes a full-fledged profiler to help you optimize your code. With UE4’s profiler, you can run your code and watch in real-time to see what your app is doing under-the-hood: how much time and resources are being spent on animation, rendering, etc. While Unity does offer a profiler, it’s only available in Unity Pro, which can be a deal-breaker for smaller development teams.
Where UE4 really shines is its graphics capabilities. While UE4 handles 2D just fine, its 3D graphics are unparalleled, next-generation graphics. Among the many things that set it apart is how it handles dynamic lighting, as well as photo-real character creation.
For organizations looking to develop VR content, one of the single biggest draws to UE4 is its in-VR editor. The in-VR editor allows you to access the Content Browser menu and make changes—without leaving the virtual environment. This is an invaluable tool to help adjust and tweak your environment in real-time.
Another of UE4’s benefits is its Blueprints feature—a way to design visually, using nodes. This is a great way to quickly prototype before doing the heavy lifting programmatically. In addition, it’s also relatively easy for non-programmers to pick up, making it a good entry into UE4.
Thanks to Unreal’s long history in the gaming community, not to mention the fact that it’s the go-to platform for high-end games, it boasts the largest developer community. This is a huge benefit to development teams, whether new or seasoned, as it means the answer can be found to virtually any question you may have.
Last, but certainly not least, Unreal’s pricing is hard to beat. Unlike Unity—which comes with one free and two paid plans—UE4 is completely free to use, with royalties only collected once a finished product reaches a certain monetary threshold. For enterprise clients that want to focus on VR training simulations, Unreal also offers Unreal Studio royalty-free for $49 a month.
Which Should You Choose
Without a doubt, Unity and UE4 are both excellent platforms on which to base your VR efforts. There’s a reason these two engines are the heavyweights, both in gaming and VR.
As mentioned earlier, Unity is a good choice if your needs are relatively modest, both in an immersive experience and computing horsepower. With its strong mobile base, Unity is a good choice if you want smartphone-powered VR.
If, on the other hand, you want the very best in immersive VR, UE4 is the way to go. Thanks to its C++ roots, it offers a level of performance that Unity can’t match, not to mention unbeatable control thanks to full access to the source code. This means that, while Unity may be geared toward mobile, lightweight VR out of the box, UE4 offers better scalability—from the largest VR projects to the smallest, desktop to mobile. In addition, while UE4 sometimes has the reputation of being harder to learn, many developers find its approach more logical than Unity.
All of this adds up to UE4 being a first-rate VR development platform that puts you in the driver seat, offering everything you need to create the next great VR experience.