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.
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.
Here’s a list of the best games made with Unity if you would like to see some examples of what Unity is capable of.
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.
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
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.
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.
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.
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.
Unity – toolbox
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.
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.
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.
Unreal is full on C++ which is arguably the hardest coding language to learn, but they do also have what they call 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.
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.
Unity is available in three options, Personal, Plus 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?
Conclusion – which engine is right for YOU?
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 came to this page wanting 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.
You can of course also check out both Unity’s and Unreal’s websites as they offer some nice training material. But I would suggest taking Ben’s courses first to get your feet wet and boost your confidence.
Thank you for reading! 🙂
Up next: How To Start A Career In Video Games