Unity3D vs Unreal Engine – Which is the right engine for you?

Overview

There are two major players when it comes to the subject of game engines – Unity3D and Unreal Engine. Both of these engines have been steadily and rapidly evolving along with the gaming industry. Some of the world’s most popular games are powered by these engines, such as Fortnite with the Unreal Engine, and Cuphead with Unity3D.

The Unity vs Unreal debate can be easily compared to that of Microsoft vs Apple. They both have the ability of producing AAA quality graphics, and both have excellent interrelationships with most of the industry standard softwares available. They both come filled with an extensive toolbox including physics simulation, animation and rigging, lighting and rendering, VR support, and many more.

With all these tools, developers and designers now have more control in making a project look and feel precisely as they envision.

Visual representations of Unreal and Unity game engine logos

Engine Description – Unity3D

Unity is an engine that was first founded in 2004 with the aim to make game development more accessible to everyone. Since then it has become a very popular 3D and 2D development platform globally.

Unity has a very intuitive design, and an impressive asset store. It has a great community, with a substantial number of tutorials and courses to be found online. All of which make Unity an irresistible choice for people starting their development journey and small teams.

Engine Description – Unreal Engine

Unreal has an extensive history as a game engine which dates back to 1998. It was released by Epic Games alongside its debut title “Unreal” and shortly followed by the very popular “Unreal Tournament”. Unreal has been known for its groundbreaking graphics and dominant presence in the gaming culture.

It has now been put in a contending spot with Unity following its latest pricing model which has made it more accessible to smaller development teams.

Infrastructure

In order to properly compare the two engines, it is necessary to understand that the differences lie not only in their technical aspects but also in the infrastructures surrounding them as well. Such as their toolboxes and asset stores, their documentations, and their communities.

Both of the engines have their own asset stores that hold a variety of plugins, models, animations and pieces of code. Some of which are created by Unity and Unreal respectively, but a majority of these extensions are community built.

Unity comes preloaded with tools for developers to use, including physics simulation, animation and rigging, lighting, event triggers, audio and much more. Though in comparison with Unreal it still leaves a lot to be desired.
Unreal comes loaded with a substantial number of tools and features that work right out of the box, albeit being quite a bit more complicated. It can feel like navigating a maze with no map at times.

Both Unity and Unreal have extensively developed their documentation on how to use their engines. Although there are quality training courses to teach developers how to build applications for both Unity and Unreal, the number of courses are significantly larger for Unity.

For example, the Udemy education platform offers about 2280 courses for Unreal, and 6418 courses for Unity.

A vast majority of these courses do teach developers how to develop games, however the base knowledge can be used to build other types of applications.

Both of these engines are doing their utmost best to provide developers with relevant documentation and training materials, but inevitably developers are left alone to figure out which solutions are best when it comes to bugs and unsolved problems with code.

This is where the role of the community surrounding the game engines become preeminent.

As the more freely accessible engine for developers, Unity naturally has a bigger community of independent, or indie, developers surrounding it.

Unreal Engine forum topics number in around 12000 on development threads, on the other hand, Unity forum threads number in around 128000 topics. Meaning that if a developer were to come across an issue, there would be a better chance of finding someone with the same problem and a solution to learn from.

The Unreal Engine community is also somewhat divided on the matter of non-programmers who create applications mostly with the visual scripting system called Blueprints and developers who utilise the C++ language.

Coding

Perhaps the most notable difference between the two engines is that they utilise different programming languages. The primary language for Unity is C-Sharp (C#), although there are several programming languages that can be used with the platform, such as JavaScript. On the other hand, Unreal allows developers to choose between C++ and the Blueprint visual scripting system.

The debates on which language is better, C# or C++, are arbitrary, as it mostly comes down to what a developer is comfortable with, their experience and what is suitable for the project.

However, though fairly similar to C++, C# is a lot simpler and easier to learn. Making it a natural first step when learning to code. For example, for a somewhat simple mechanic developers might find that they will need to create two separate files in Unreal, one for declaration and one for definition. Unlike having to create one file in Unity. This may seem quite complex for developers early on in their journey.

As mentioned earlier, Unreal features a Blueprint visual scripting system that developers can use as well to create complex applications. The workflow is node-based and does not require any code. It is quite easy to pick up and learn Blueprints, especially when starting out in Unreal.

This is great for quickly prototyping levels.

However to get the most out of the Unreal Engine, it is recommended to combine C++ and Blueprint based solutions into an application. Almost every section in Unreal’s documentation is backed up by both C++ and Blueprint examples.

Unreal Engine Blueprints Interface

Graphics

Both the Unreal and Unity engines support 2D and fully 3D rendered productions. They both run the latest technologies including Volumetric lighting, Physically-Based Rendering (PBR), Post Processing, Global Illumination (GI), Advanced shaders and many more.

Although developers might be able to produce similar results using either engine, this is unfortunately an area where Unity falls behind. Unity has been more suitable for 2D and 3D development, whereas from the onset Unreal has been focusing more on graphics for 3D development.

Unity3D

Unity might lack some of the polish when concerning the production of a good looking project that Unreal harbours, but it is constantly being worked on and improved. It may take a bit of dedication to get there, nevertheless it is achievable.

The lighting system is quite modern and supports the latest tech, as previously mentioned, such as PBR and GI. The downside is the number of times a project will need to bake the scene for lighting to solve artifacts and other issues.

The 2018 update saw a change to a more lightweight lighting model, which was an improvement but still has not fully overtaken Unreal.

Six Thumbnail Images Of Unity Games

Unreal Engine

Unreal comes prepacked with tools and presets that work right out of the box, and can easily be tweaked to suit. Volumetric lighting, post processing and lens flares are available and ready to be used, whereas Unity offers these options as free assets from the store to be installed and updated if required.

The lighting system is much more accurate compared to Unity, while baking is a smooth experience where using production quality results in very minimal graphical artefacts. All the while using fewer draw calls greatly improving the performance.

It also features a material editor, which utilises node graphs, quite similarly to 3D softwares such as Maya and 3DS MAX, to create and manipulate materials.Enabling developers to quickly adjust and iterate within Unreal itself.

Six Thumbnail Images Of Unreal Games

Learning Curve

Unity excels within this field of comparison. Due to its intuitive interface developers can easily and quickly put together a test environment to share in little to no time at all. It is simple to understand and maneuver around Unity’s interface, especially coupled with the vast amount of tutorials, forums and excellent documentation there is online. Whatever the issue is a developer might have, they are sure to find documentation that will clear up the confusion.

Though the Unreal Engine made plenty of improvements with their latest updates, the interface is still quite intimidating and can be an effort to terms with. As nice as the interface is, the endless additional pop-up windows for various options and settings will leave developers with crammed screens, and an overwhelming number of buttons that may confuse rather than aid.

Both of the engines have quite similar interfaces on the onset, with toolbars and settings within resizeable and moveable windows, but side by side Unreal has quite a bloated and complex interface. It takes a longer time to import and save assets, while simple tasks seem to require extra steps. This results in Unity looking nimble and responsive in comparison.

Though the final product can look nicer in Unreal than Unity, it may take far more effort, especially for beginners.

unreal engine user interface

Conclusion

In the last few years, both engines have made leaps and bounds, by addressing their weaknesses and improving by following the latest industry trends.
Both engines are amazing tools when it comes to developing games and applications. Developers can easily decide which engine to choose for a project according to the points discussed above.

However developers can download them both to try out as according to their price plans they are offered for almost free.

Unity’s Personal edition can be downloaded with all the core features, while allowing the application to amass up to 100K in annual revenue. Unreal takes a slightly different approach by giving the full engine with all its features, but maintains the developer will owe 5% of total revenue when the application has been shipped, forever. Further detailed information is provided with their tiered price plans respectively.

Unreal is great in many respects but with its steep learning curve it can be quite uninviting for developers beginning their journey. Unreal is a better choice with more seasoned developers who are looking to focus on high-end graphics and smoother lighting.
Unity may not have the same AAA graphical capabilities as Unreal, but it can still produce fantastic results. It is much easier to come to terms with, and can be quicker to produce a finished application with.

If you are looking to work on a complex business solution that requires a lot of customisation, iterative development, prototyping, and optimisation, then the Unity3D engine may be a great option. On the other hand, if your application is more focused on visual presentation and graphics for business, then Unreal Engine with its Blueprints system would be a great way to go.

By Adeyemi Thompson – Unity Developer, Sliced Bread Animation

Recent Posts