Developing eLearning for VR: Unreal or Unity?
o you want to develop eLearning applications for VR? Which 3D game engine should you choose, Unreal Engine or Unity?
There are certainly other options, such as CryEngine, CopperCube and Torque3D, but Unreal and Unity are undeniably the mammoths. Both of them provide full VR support for both HTC Vive and Oculus Rift, and both have a long list of blockbuster games that were coded in them. Let’s examine the pros and cons of each.
Another pro for Unity is the Asset Store. You can find a wide variety of free and paid assets that can easily be added to a game. The assets include music, art, code and modules, to name a few. The powerful asset management system and attribute inspection even allows you to include unique lighting or GUI in your game.
Unity also has a great editor, which is powerful and intuitive. You can pause the gameplay and manipulate the scene at any time, or progress gameplay frame by frame.
Rapid prototyping is another strong point of Unity. The modular system allows for quick development of an idea. Features such as drag-and-drop editing, shaders, and animation allow you to dive right into developing a game.
Unity is a proven game engine with a history of huge developers, such as Microsoft, Paradox, Square Enix and Sega. These developers chose Unity for a reason, and that reason is flexibility and power. With direct access to the code “under the hood”, Unity can be used to create the functionality and game behaviour exactly the way you want it.
There are a few negative aspects to using Unity, which should be mentioned. For example, Unity 4 is built on Mono and C#, which means the garbage collector can impact performance and cause stuttering. C# and .Net usage in Unity is questionable, and a lot of the API uses public static methods. This encourages the use of public fields for everything, and a lot of questionable implicit casting. These are poor coding practices which can lead to problems with inexperienced programmers.
Lastly, Unity3D is a proprietary, closed source game engine. Unity requires a fee for features like basic version control support. If the performance doesn’t satisfy the growing requirements of a project, it will be impossible to migrate a game from Unity due to vendor lock.
Unreal Engine 4 uses dynamic global illumination with voxel cone tracing. This is a similar algorithm to ray tracing, but uses thick rays instead of pixel thin rays, for a vast decrease in the amount of computational power.
UE4 is licensed to developers for a 5% royalty fee on resulting revenue, and includes full access to source code – something not available with Unity.
Among of the greatest benefits of Unreal is Blueprint, a visual scripting system for non-coders. Blueprint resembles flowcharts, with each node representing a function or value. You can easily connect outputs and inputs of nodes, allowing you to tweak and prototype without ever writing any code. Blueprint also allows a better at-a-glance overview of game logic, and makes complex behaviours easier to accomplish.
Recompiling an entire game can take a long time. Unreal Engine 4 quickly compiles in seconds instead of minutes, improving the iteration time by an order of magnitude. This makes it great for when you are making small changes and adjustments to your game, which happens very often.
The downside of Unreal is that it’s not completely free. It operates on a royalty based system, whereby 5% of profits will go to Unreal. There are always two sides to every coin.
TWO SIDES TO EVERY COIN
Whether you develop eLearning applications or games for entertainment, both Unity and Unreal are more than capable of accomplishing the task. You must carefully examine the pros and cons, and decide for yourself which engine is the best one to use. I hope that this breakdown will help you make an educated decision.
To learn more about our company and how we contribute in the field of eLearning, please visit our website at www.pathwaystrainingandelearning.ca