Unity VS Unreal – Which Engine Should You Choose?

Unity VS Unreal – Which Engine Should You Choose?

Unreal’s Dummy and Unity’s Adam  – Rendered by Ponty in Unreal and Unity.

By far the most popular engines for smaller game developers are Unity and Unreal Engine, and for good reason.

Unity vs Unreal is a hotly debated topic, comparable to Microsoft vs Apple.

They are both capable of producing AAA quality graphics, both have great bridges between most of the industry standard softwares.

They come packed with an extensive toolbox including terrain editor, physics simulation, animation, advanced lighting, VR support and much much more.

There used to be a time when one could easily tell each engine apart simply by looking at a game. Both had their own “look”, for good and bad.

However that time has passed, and you could not tell one engine apart from the other by just looking at the result. Take the above image as en example, the left character was rendered in Unreal and the right in Unity.

It is more in the hands of the game designers to make a game look a specific way, which is a good thing!

So on the surface, it appears we have a tie? Well.. Not quite.. Each engine has it’s own advantage, and disadvantage. Beauty is in the eye of the beholder as they say, and this is true for game engines as well.

If you are just starting out learning to make games, or perhaps a bit more experienced and are curious whether you made the right decision. Read on as we delve deeper into this ongoing war between two titans Unity vs Unreal.

Introduction

Founded in 2004 with an aim to make game development accessible for everyone and not only big companies, Unity has done exactly that.

Almost every single indie game developer either started with, or is still using Unity as their main tool.

With it’s very intuitive design, C# coding language making it easy to learn and use. Great community, huge asset store, tons of tutorials and courses to be found online.

All of this makes Unity a compelling choice for smaller teams and people just getting into making games.

Developed alongside it’s debut title “Unreal” and released in 1998 by Epic Games, followed by the super hit “Unreal Tournament”. Unreal has always been known for it’s ground braking graphics and presence in the top AAA gaming culture.

Now with it’s latest pricing model making it accessible to smaller developers as well, putting unreal in a contending spot with Unity.

Although it’s documentation being a bit fuzzy, not as wide a community as Unity. Some intimidating interfaces, not to mention the coding language being C++.

It offers a powerhouse of a game engine, pushing graphics to the highest level while maintaining efficiency. Packed with features and tools, once mastered, Unreal will set no limit to realizing your vision.

With Epic’s latest efforts to make Unreal more accessible with the introduction of Blueprints (visual coding system), continuous efforts to improve documentation, learning content and a heavy focus on building a community, Unreal is a solid choice for any game developer.

Graphics

Short “A boy and his Kite” – Made in Unreal Engine

Now that we have a bit of background let’s get down to the horse powers of the two engines.

Both engines support 2D and fully 3D rendered games. Running the latest technology including PBR (Physically-Based Rendering), GI (Global Illumination), Volumetric lights, Post Processing, Advanced shaders and much more..

On paper, it looks like it doesn’t matter which engine you choose if visuals is what is important to you.

While you might be able to produce the same result using either engine, this is unfortunately where Unity falls short.

Unreal – graphics

As I mentioned, similar results CAN be achieved with both engines. However, Unreal is packed with tools, presets that really actually work right out of the box and can easily be tweaked.

Volumetric lights, Post Processing, lens flares, you name it. It’s all there, ready to be used and looks great from the moment you drop it in.

The lighting in Unreal looks much more accurate and smooth compared to Unity. When you bake the lighting with “Production Quality” it looks amazing, with very minimal but mostly no graphical glitches or strange artifacts.

Shadows have nice falloff and a polished look. All of this while using far fewer draw calls than Unity greatly improving performance.

It also features an amazing material editor, using the node graph you can easily create and tweak materials. It works very similarly to other 3D softwares like Maya or 3DS MAX. This enabling you to quickly adjust and iterate with live feedback within Unreal itself.

Post processing is fully integrated and ready to use, giving you a wide option for grading, lens flares, volumetric effects etc.

The system is similar to what is used in the film industry giving it a smooth cinematographic feel.

You also have the option to place trigger volumes around the world, so that when a player enters that volume the colors change. Ie to a more cool blue, enabling you to set the mood for different areas on your map etc

Short “ADAM” – made in Unity

Unity – graphics

While it’s being constantly worked on and improved, unity does lack some of the polish when it comes to producing a good looking result.

You might find yourself struggling to achieve what you envisioned. It will take a bit of dedication to get there, nevertheless you can get there, but not without effort.

The lighting system is quite modern and does support the latest tech such as PBR and GI as mentioned earlier, but you will find yourself baking your scene lighting many times, trying to solve strange artifacts and other issues.

Shadow detail is not quite as nice as Unreal but definitely not bad. With the new 2018 update Unity has updated to a more lightweight lighting model, which was definitely needed. But compared to Unreal, it can still be better.

Unity has next to no material editor, it does support the usual normal maps, occlusion maps, base textures etc with some very limited parameters to adjust.

But you will still find yourself swapping back and forth between your texturing program and Unity a lot, having to make small tweaks, export all the files, try in Unity, then rinse and repeat.

Note – Unity has released a beta with a material editor included, however, it requires very specific graphics settings and can become quite a confusion. It’s not exactly straightforward for beginner to intermediate users to use their shader graph, it is also still in beta meaning it has not been properly integrated with Unity, which is why I will not consider this an official feature… yet

Post processing is offered but needs to be downloaded from the asset store and installed (free), and does work but tends to throw errors in the console and has a lot of other limitations. While it does what it needs to it still feels quite crude and unpolished compared to what Unreal has to offer.

Learning curve

Playing with cubes in Unity

This is where Unity shines. With it’s intuitive interface, you’ll find yourself experimenting with the engine and trying different game ideas in no time. And it’s really fun!

It’s just so fast and easy to cobble together something and share it with your friends. It’s just so simplified and easy to understand.

Not to mention the vast amount content there is online. From courses to simple tutorials, forums and an excellent documentation with great search functionality etc.

Whatever the problem you might have, you can be sure to find a forum post or a page in the documentation that will clear up your confusion.

Unreal.. Well, it’s intimidating. Hard. Frustrating.. Hard..

The C++ is quite a beast to wrap your head around, the Blueprint system does help (we will dive deeper into Blueprints further down), but without any C++ knowledge, you will be pulling your hairs quite a bit.

The interface is nice, but huge, with endless of additional pop up windows crammed with even more buttons to confuse you.

This combined with the fact that there simply isn’t as much learning content online as with Unity, a documentation that is not that easy to read and not a very large community to help you with issues (although this will hopefully get better within the not too distant future).

If you end up with a problem you can easily end up spending hours online searching for a solution – and might not even necessarily succeed in finding what you need.

Firewatch by Campo Santo – Made in Unity

I definitely do NOT recommend starting with Unreal if you are new to making games, you will give up.

And before you flame me in the comments because YOU happened to start with Unreal with no background experience and are doing great, well congrats.. you genius… 

I certainly gave up faster than the speed of light when I first opened Unreal.

Toolbox

Both engines come with a set of tools for you to play around with.

They both have their own asset stores where you can find a great variety of plugins, pieces of code, animations and models, some created by Unreal/Unity, but also community built extensions.

The assets stores are also an opportunity for you to sell and share what you’ve made.

Unreal Engine Landscape

Unity – toolbox

Unity comes loaded with tools for you to use, including Physics, Animation, Lighting, Event triggers, Audio and much more.

But even so, there is still a lot to be desired, after spending some time in Unity, I can’t help but feeling the emptiness a bit.

Unity Humanoid Animation

And the tools that actually do come with Unity feel.. Well, not great.

Every time I start getting into the polish of a game mechanic, even something as basic as an FPS player controller, I find myself having to rebuild it from scratch.

Taking the FPS controller as example, which is probably the most common function on average in modern games. The one that comes with Unity feels bloated, unoptimized and frankly doesn’t feel that great when you play.

This goes with a lot of other tools as well, some of them work, but you might need a plugin to crutch the tool with for it to work properly, or just spend a lot of time fiddling around with it.

You can’t help feeling that everything just seems a bit hacked together, like standard tools that start throwing errors in the console even though you haven’t even touched anything yet.

The bottom line is, if you are going to be making games in Unity, prepare to write a lot of the tools on your own as you will get fed up with the standard package very quickly.

Thankfully, the Unity asset store is overflowing with plugins, extensions and other useful things that will help you crutch those missing pieces, and usually at a reasonable price.

But is it OK to rely so heavily on your community to patch your engine for you?

But at the end of the day, it is very easy to get into making your own tools within Unity and also really fun, if you like that sort of thing of course.

Definitely give it a try before you listen to me on this point too much. Perhaps Unity offers exactly what you need to finish up your game!

Unreal – toolbox

In a similar case to the graphics comparison, Unreal comes loaded with a huge amount of tools and features which, for the most part, just seem to work straight out of the box.

The downside, again, it’s very complicated. It sometimes feels like you are in the middle of a maze and have no idea where to go. But once you do know the way, nothing will stop you.

All the tools feel well integrated, nothing feels hacked together, it’s robust, and it works.. Most of the time

There is of course an asset store as well, not as stocked as Unity’s and a bit pricier on average. But can still provide great support for your game.

If you want a 3rd person player controller, drop it in, hit play. Off you go, you can run around, jump, crouch and test your level in a flash. No need to import packages or fumble around in the settings trying to get it to work.

ABZÛ by Giant Squid – Made in Unreal Engine

The terrain editor beats Unity’s with a landslide. No competition.

But.. What if there is something missing that you desperately need? And the asset store does not seem to offer what you require?

Just as with Unity, you have the option to build your own tools, but as it all needs to be written in C++, and just the fact that Unreal is a bit more advanced in general. You will no doubt have a harder time writing your own tools. At least in the beginning.

Coding

Unity uses C# which is fairly similar to C++ but a lot simpler and easier to learn.

This making it a great first step to learning how to code. There is also the option to use Java script.

Unreal is full on C++ which is arguably the hardest coding language to learn, but they do also have what they call Blueprints.

Unreal Engine’s Blueprints

Blueprints is a visual scripting system where you do not have to put in a single line of code.

You connect nodes together with various function and can that way “code” your game’s different behaviours without actually having to code.

While it is great and you probably could make a whole game without a single line of code this way. In it’s current state, some things are just better done in code.

Having some C++ skills will be very useful when working in Unreal.

2D games

Cuphead by StudioMDHR – Made in Unity

If you are looking at creating 2D content, there really isn’t much to talk about. Your best bet will be Unity.

With it’s simplified UI and very well developed 2D tools, intuitive sprite animation etc – you really can’t go wrong with Unity.

It can of course be done in Unreal as well, but there just isn’t much point as Unreal is not developed for 2D games. It will add an unnecessary level of complexity that just simply isn’t needed.

Price

Unity is available in three options, PersonalPlus and Pro.

The personal edition comes with all core features and is completely free. You are allowed up to $100K USD in annual revenue. You are also forced to have the “Made in Unity” splash screen before your game starts.

Plus allows you up to $200K USD in annual revenue and will set you back $25 per month in a subscription fee if you sign up for a year. It also comes with added benefits such as – Custom Splash screen, 20% discount in the asset store and performance crash reporting to name a few.

Pro gives you all the Plus benefits and has no annual revenue limit. It’s at a steep $125 per month. But if you are making $200K plus a year, this really isn’t an issue

More information on Unity pricing can be found here.

Unreal has a different approach – They will give you the full engine with all of it’s features for free. But you owe them 5% of your total revenue when you ship your game, forever. Except on the first $3000 per game per calendar quarter, you get to keep 100% of that.

More information on Unreal pricing can be found here.

What about other engines?

Snow – Cry Engine

There are other engines out there, for example CryTek’s Cry Engine which has also started focusing on a broader audience using the same pricing model as unreal and has started gaining traction with smaller developers. We might do a comparison including the Cry engine further down the line.

Amazon Lymberyard

To everyone’s surprise, Amazon has released the Lumberyardengine, and not only that. It’s freePeriod. No royalty, no subscription. Free.
Their idea is that if you make a multiplayer game, you can pay amazon for server hosting, and hope to make their money that way instead. It is based on the CryTek engine so don’t be mistaken into thinking that this is not a full AAA engine.
I have not yet tried it so I can not form an opinion about it just yet but I will definitely get in there and test it out as soon as time allows.

Hyper Light Drifter – Game Maker

GameMaker developed by YoYo is another option, it focuses primarily on 2D games. It is not as powerful as Unity or Unreal, but might be a great option if you want to get your feet wet and try some 2D game deving. Some great indie titles have been made using GameMaker, take Hyper Light Drifter for example. Gorgeous.

Conclusion – which engine is right for YOU?

Choose Unity if:

  • You are just starting out making games and have no experience with coding or 3D programs. Do consider taking a course, further down I will give you tips on great learning material.
  • You want to make 2D games or simple phone games.
  • You like to make fast iterations of simpler indie titles, have no problem making some of the tools you need yourself and aren’t too worried about achieving true realism.
  • You just want to make a visually interesting game without worrying about the technical aspect too much.

Choose Unreal if:

  • You are not scared of a challenge.
  • You have experience coding and preferably some experience with 3D programs.
  • You have experience making games already.
  • You want to push graphics to the limit.
  • You already know Unity

Unreal is great in many ways but with it’s steep learning curve it can be quite off putting if you are a beginner. Even Unity can feel quite intimidating in the beginning!

But Unreal is definitely your best bet if you want to focus on high-end graphics and gameplay.

Sure, Unity has some flaws and perhaps won’t crank the graphics as high as Unreal, but it can still produce a great looking result. It will be much easier and faster to make a finished game in Unity than in Unreal, at least in the beginning.

So the verdict is, if you want to start a hobby or a career in game making, chances are you should most definitely start with Unity.

And then make the switch to Unreal at a later time once you have some experience.

Then you can form your own opinion about which route works best for you.

Also, a lot of what you learn in Unity is more or less applicable in Unreal as well, so don’t feel like learning Unity is a waste of time.

Source: https://sundaysundae.co/unity-vs-unreal/