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 its 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.
Video (Written article below)
I’ve embeded a video detailing my experience with both engines in case you’d rather kick back and listen. The video has more up to date information and since it was recorded after I initially wrote this article there are some extra goodies in there.
If you would rather read, please go ahead and scroll down for the full article. I am working on updating the article right now. (95% information is still very valid though). Pricing comparison has been updated in 2020.
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 its 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 its debut title “Unreal” and released in 1998 by Epic Games, followed by the super hit “Unreal Tournament”. Unreal has always been known for its ground braking graphics and presence in the top AAA gaming culture.
Now with its latest pricing model making it accessible to smaller developers as well, putting unreal in a contending spot with Unity.
Although its 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

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 its 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

This is where Unity shines. With its 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.
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.

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.
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.
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.
2D games

If you are looking at creating 2D content, there really isn’t much to talk about. Your best bet will be Unity.
With its 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, 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 $40 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 $150 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?

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.

To everyone’s surprise, Amazon has released the Lumberyard engine, and not only that. It’s free. Period. 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.

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?
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.
Learning
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! 🙂
/Ponty
Up next: How To Start A Career In Video Games
Awesome post!!!! Very in depth article.
Thankyou for your tips!
As a complete noob that wants to make unique small budget games like play dead inside or Journey. Would you say unity is a good place to start?
Thanks!!!
Thank you for reading! Absolutely Unity is a great choice – Playdead’s Inside was actually created in Unity so that is definitely possible 🙂 Keep in mind that Inside was in development for 6 years by a 20-30 man team. I highly suggest you start with Unity and consider signing up for the beginners course I mentioned in the article, it will teach you the basics about Unity and C#! I loved it and learned a lot when I took it!
I liked the article but I disagree about the coding bit, as I’ve done coding with both C# in Unity and C++ in Unreal Engine, C++ provides in depth techniques to get the most performance out of your code, and is not that complicated to learn C++ 2011 is much like C# not that different including the part where pointers are auto managed, on the other hand C# is a too bulky and will cost you performance, I moved from Unity to Unreal Engine and on the other hand it doesn’t matter with which game engine you will startup with as both require the same learning curve.
And both now have decent amount of documentation and tutorials out there
Hi! Thank you for reading. Yes I agree with you, I am hoping to update this article shortly and make some adjustments. 🙂
So far, this is the best comparison article I’ve ever read for Unity vs. Unreal.
Also, I have completed all three of Ben Tristram’s intro tutorials:
1) Complete C# Unity 2D
2) Complete C# Unity 3D
3) Unreal Engine C++
Both Unity courses are absolutely fantastic. The Unreal course is a bit chaotic, but is about to be fully revamped starting April 2019.
Wow thank you 🙂 <3
Yes I agree, the unity courses are amazing while the unreal is a lot harder to follow.
Can't wait to see what they do with the revamp!
Great content!
A very good read before I start work on a Friday morning.
Thanks for writing and sharing, just one suggestion can you update the Unity scripting section as Unity has deprecation process for UnityScript (Javascript). This process started in June 2017. I am going to bookmark your blog and make it a regular read.
Citation(s) and reference archives
Author: Richard Fine
Publication date: August 11, 2017
Publisher: blogs.unity3d.com
Article title: UnityScript’s long ride off into the sunset – Unity Blog
Website title: Unity Technologies Blog
URL: https://blogs.unity3d.com/2017/08/11/unityscripts-long-ride-off-into-the-sunset/
Archived copy of your blog post on date and time i was reading.
https://web.archive.org/web/20190405074702/https://sundaysundae.co/unity-vs-unreal/
Hey Phil! Thank you for reading 🙂 I’m so glad you enjoyed the article!
You are entirely right, thank you for pointing it out. I will update!
Enjoy your day! 🙂
What a fantastic comparison!
I’ve started learning Unity and have been enjoying it, but was a bit concerned I was taking the wrong route with engine choice, but your article really helped ease my mind.
Thanks, and have a great Easter!
Happy easter! I’m glad I could help 🙂 Enjoy the rest of your weekend and happy game deving! 🙂
Hi, I just started learning unreal last week and I’m doing fine and didn’t get that much confused so far(I’m taking a good course on udemy), I’m sure unity is a fantastic engin but I actually wanted to work on high graphic games so I just started with unreal and I don’t know anything about coding but doing good so far with blueprint and I hope I don’t get into much trouble learning c++ in the future, I maybe even learn unity for 2d games! But I’m doing fine with unreal and not scared, Ty so so much for your comparing, it was very useful
Hi! I’m happy you are doing well with your learning! If you feel like Unreal is a good fig then you should definitely keep going with that. While it’s a bit harder to learn it is by no means impossible! Keep going and keep learning! 🙂 Thank you for reading the article 🙂
I have no idea where you get this idea that C# is slow and bulky. Can you please elaborate further? I’ve been using it in countless game jams and commercial games. I’ve still yet to encounter a scenario where C# slows my game down to a halt. Unity has been making massive strides with their GC tech. Having necessary knowledge of memory allocations and how to reuse them (object pooling for example) can certainly help. C# in Unity has certainly improved over the years with their current Scripting improvements. The one thing that is certainly slow and bulky is Linq. But Unity is working on that to provide a better alternative.
With that being said, I think this is the general mindset and the reason why beginners choose Unreal in the first place. They get caught up in this “C++ vs C#” fiasco. Knowing when to strike the balance between flexibility and performance is critical, and this is what exercises like game jams teach you. Unity is perfectly suitable where performance and flexibility is crucial to your project.
What a fantastic comparison!
I’ve started learning Unity and have been enjoying it, but was a bit concerned I was taking the wrong route with engine choice, but your article really helped ease my mind.
Thanks, and have a great Easter!
unity is easy?
i must be retarded then.
FML
What are you struggling with? Are you following along a course? Unity is fairly simple to work with – but without proper guidance as you are learning the tool you will definitely find a lot of frustration!
It is a very good article. Which give some ideas about these engines .I’m a fan on C++ and I don’t know many things about making game. But I’m planning to start with one of them to dive in game world. And I think that with my orientation in C++😁 I will start with Unreal Engine. Start with C++ is not easy than python so if Unreal is some difficult I’m not surprised 😁😁😁 It is the world of C++. But with your article , I’m preparing me psychologically 😁😜😜 to start with Unreal. Thanks.
Good read…wish I read it before committing and starting with Unreal…
Oh don’t worry friend! If you have started Unreal and you’re feeling comfortable with it, just keep going! But if at any point you feel overwhelmed and are considering giving up a give Unity a try!
This is an excellent and seemingly unbiased comparison. This article is very useful for someone (like me) that has no game dev experience and wants to get started!
Thank you! 🙂 So happy you found it useful!
Very well elaborated in every aspects most pricing…but one more question because am complete begginer in games development…am is it possible to make 2D game a decent one using unity all by yourself..if yes how long provided you put much hours on it..
Hi Steve, thanks for reading and for the comment! Yes it’s very possible to do a 2D game all by yourself. How long it would take depends entirely on the project and on you. Ie flappy bird was made in under a week by one person. Inside by Playdead was made by a small team and took 6 years.
Expect 6 months to a year for you to learn the basics in Unity. Then it depends entirely on the scope of your project.
Hopefully this answered you question partially. Good luck with the game deving! 🙂
It looks more and more like unreal is a better option if I put the effort in, sorry unity, but I deserve better for my efforts. I’m switching to unreal no contest! My brother is great at programming so he definitely should look into it…
Thank you!
Thank you for reading 🙂 I hope you found it useful!
In the article and comparssion, you imply that you should be a capable programmer to approach unreal, yet not unity. I find this completely backwards. You have to code to do almost anything in unity. Yes, code in c# or JS, but that’s *still code*! By comparssion, I have built entire games in unreal without ever seeing a line of code. Having worked in unity for 8 years and unreal for 3, I can say both are really great engines. As a seasoned game artist who only dabbles in code, Unreal is the best choice by a landslide. For a programmer, especially one who prefers c# or Java, Unity is the obvious choice. I’ve never found Unreal documentation to be lacking (and trust me, I use it a lot). I appreciate that pretty much all of their ‘lite’ documentation exists in-engine as pop-ups. I will agree that unreal is more intimidating for the first week, but that’s simply because it has so many darned tools are your disposal. Going back to Unity is always frustrating because the tools simply don’t exist, or are missing key variables/flexibility.
I agree with pretty much every statement you made and am hoping to update this comparison article sometime in the near future, but I need time 🙁
I used Unity for over 7 years lumberyard for a bit and Cryengine as well and once I started using Unreal I never looked back. Everything is easier for me in Unreal and c++ and blueprints are the most powerful tools on the market and it’s beautiful Ui is easy to read and understand where everything is. One thing I really really hated about unity is it’s UI. So many important features hidden deep in some menu somewhere and how you had to have an addon for just about everything. Unreal comes with everything right out the box and its all built around the same ecosystem, lighting, materials, visual scripting, incredible character tools c++ and blueprints working together like a power house. Nothing can touch it. There’s a reason Unity and other engines are trying to add some of the same features that Unreal has had for ages. I know people hate Epic but nothing comes close to their tool-set. I have a friend that built his entire open world adventure game in blueprints when people said he couldn’t do it and Epic said “Yes you can”. Now he’s making money in his sleep and people are scratching their heads.
Thank you for the comment and the valuable opinion. I definitely agree with you, Unity is very frustrating in many ways, especially the needing addons for everything part. I do still think Unity provides an easier learning environment for several reasons, but Unreal is definitely a better engine overall. Unreal’s pricing model is brutal if you end up making a bit of money though :/
Hi! First off, this article is really good at helping me pick an engine for future projects. But now I need a bit of advice:
I want to make a 3D game, an RPG to be more precise. So I’m wondering if it’s something I should rather start in Unity or if I should already just go for Unreal.
Note:
I have no experience making games. At all. But I believe that I am prepared to learn what is necessary to achieve a satisfying result.
I don’t want my game to have really impressive graphics or anything, I will try to aim for a semi-cartoony artstyle.
As of right now it’s only me and a friend (He has just as little experience making games as I do, fyi) doing this, so we are still an incredibly small team.
I believe we should use Unity, while my friend tries to convince me to use Unreal. I feel overwhelmed and am not sure what to do, any advice?
Thanks a lot for taking the time to read this, hope you have a great day!
Hi Luke, while choosing the right engine is important, choosing the right scope for your team’s A: size and B: experience is even more important.
My recommendation to you would be: Don’t start by making an RPG, make something like flappy bird or tetris. And make the same game in both engines if you are unsure which engine is right for you.
Doing this will allow you to get a feel for each engine and game development in general. I’m not sure hoe big your RPG game is intended to be but trust me, an RPG is hard to make for even experienced developers. Start small 🙂
If i want to learn UE4, is it better to do unity first anyway? If yes, is it fine to learn the basics of unity and then UE4 or should i master unity completly before jumping into UE4?
(I have only ever studied Python but have become quite fluent in it. I would like to enter game development as a hobby)
It’s not better to start with Unity, it is however less daunting as it is not as jam packed with features as UE4.
You can absolutely learn the basics of Unity and then swap to Unreal, no need to master Unity first.
In your case I would recommend: If you are intent on using Unreal in the end, why don’t you try that first, perhaps you’ll love it right away! If you find that it’s too difficult, well, maybe run with Unity until understand a bit more.
Good luck 🙂
Please know the difference between it’s and its. That’s what ruins the article and it’s annoying to read. Aside from that, very detailed explanation. Kudos
i looked your article and it’s the best article i ever seen for solution. I started game making when i am grade 8 student with unity and it’s not a good engine. After watching your review article i started using Unreal Engine and every thing is going to easy. Thanks for that.
What’s your opinion on Godot?
After one year trying to learn unreal engine my conclusion is that, unreal engine is way superior than unity but the learning courve in some specific topics is pretty narrow many times, while unity has access to better tutorial databases, unreal engine learning courses are amazing but they are completely blocked in their page making almost impossible to watch em unless you have infinite patience (even if they are free you cant download em to your hd….). Many specific game mechanics in unreal engine are really hard to learn, because there is no specific learning courses or resources for them, while unity has a wide range of specific learning. Most game mechanics in unreal engine are firsr person shooter focused, making trying to make other game types, like sidescroller almost impossible unless you wasted years of learning in unreal engine (because as i said you are not going to find tutorials about anything that is not a first person shooter). My conclusion is, if you plan to make a first person shooter go for unreal engine, without even thinking, if you plan to make a 2d game or a side scroller, go for unity. Any other type of game, depends, if you have great patience and you dont mind not using tutorials and courses to learn, go for unreal engine. If you want to learn watching tutorials and courses, go for unity.
The pricing difference is horrendous : 5% (over the first 3000$ per quarter) can add up to big amounts if your game has success !!!
Note that ” The 5% royalty is calculated on the amount over and above the first $1M in gross revenue.” (Unreal web site, 19 May, 2020)
If you make $2M, you will give them $38K!
(Is my math correct? 1M over 1M, -12K per quarter not touched by the license)
That said, there are custom licences… I imagine companies negotiate a limit or a buy-and-leave-me-alone licence.
I find Unreal more attractive for a “3D” game, but the license would worry me if I planned to sell a game for profit.
Yes correct! Unreal can become very expensive indeed. But you still keep 1.96M 😉 if you make 2M
I say that unreal engine is better but harder my favorite part is the graphics,they are the best,that is why they take a lot of work because if you are going to make something great then it might take hard work but yeah and unity is a great start and so are other game development softwares like scratch.