You want to make a game, but for that you need an engine. If you limit options and get rid of engines that don’t interest you, you will left with two good options – Unity and Unreal Engine 4. You will spend months or years using one of them. If you pick wrong one, you can be sure that at some point you will consider recreating the project from scratch in other engine. That’s why the decision has to be made after taking into account all important factors.
Main difference between Unreal Engine and Unity lie in engine complexity, learning curve, graphics, targeted devices and users. Unity has bigger community and is mainly focused on beginners, small companies, solo indie game developers, and can create games of any genre with good 2D and 3D graphics that will work on many devices including slow ones. Unreal is complex engine that targets huge companies that create 3D racing and shooting games with top graphics for players with fast high-end computers.
You’re currently reading brief comparison of two game engines. If you want to read more detailed and thorough (and therefore longer) guide then check best game engines.
Unity was founded in 2004 to make game programming possible to everyone including beginners and was first “free” mainstream game engine.
First version of Unreal Engine was released in 1998 and it was locked behind a price-wall. UE4 is complex engine targeted at professionals and huge companies.
Difference in early days of Unity vs Unreal is that Unity targeted beginners, indie developers and made the engine seemingly free until you start earning money, while Unreal was complex engine targeted at huge teams and was costly.
Unreal has top AAA graphics out of the box which means fresh project made in UE4 will look well. However that also means your game will consume more computer resources by default and if computer is not good enough, it will lag, freeze, or have low FPS.
Unity has good graphics out of the box but if you want to achieve AAA visual quality then you need to choose proper project template like High Definition Render Pipeline, turn on settings like post processing and do other things. However if you just do a project with basic settings then your game will look much more smooth on slower computers and consume less computer resources, which also means the game will be possible to run in browser without lags.
Unreal Engine has high quality settings turned on by default, while Unity has medium quality settings turned on by default, and both can be changed according to user needs. UE4 was made while considering graphics is most important aspect and targeting players with good computers while Unity was made to deliver good graphics and to produce games that work smooth on many platforms and slow devices.
Unity has very intuitive interface similar to that of GameMaker. The main workflow of engine is that you create objects, assign components like light, camera, character or physics to it, and then code scripts that can interact with objects and their components. There’s also a lot of drag and drop or simply choosing proper thing from list. The main usage of engine can be summarized by three things: objects, its components and its scripts. It’s good for indie game developers. It also supports C# which is one of easiest programming languages.
Unreal Engine 4 interface is more complex because it contains way more tools and object types. It has similar features to Unity but each of them is more extended and has more settings. Unreal has C++ which is relatively hard programming language. It also has blueprints (other name for visual scripting) which you could use to make a game without coding, however there are so many blueprints and blueprint combinations that learning them is a challenge.
Unity is easier, faster and more straight-forward than Unreal Engine 4 in both learning the engine and producing games in it. Unreal has more tools, they have more settings than their alternatives in Unity, and it supports C++ which is hard to learn. Unity has less tools, its tools and features are more simple to use, it supports c# which is easier, and general workflow of engine takes very quick to learn. Unity has huge community and therefore has way more free tutorials available, while Unreal has much smaller community and you may not find tutorial for whatever thing you had problems with.
Unreal is definitely targeting huge teams with many different positions and specializations, while Unity is good for solo indie game developers as well as small teams due to its simplicity.
If you target browsers or weaker devices then you should use Unity, but if you target high end computers with insane specifications then you should use Unreal.
Developer Or Artist
Unreal offers many tools for artists for free while Unity offers less, and they are often less advanced than Unreal tools. Not only that, but artists can use blueprints in Unreal to create their game, without learning coding.
Although you can get visual scripting (other name of blueprints) in Unity via third party plugin, it’s less advanced and not native, while Unreal’s blueprints are one of it’s main key features. With blueprints you can create your game without coding, but I wouldn’t say Unreal’s blueprints are easier to learn and use than Unity’s C# scripting.
Unity community is much bigger than Unreals which results in many other benefits like more jobs available and more tutorials/help online. Unreal is lacking here in comparison to Unity.
Unreal is used mainly to produce 3D FPS, multiplayer, Battle Royale and racing games with high graphics for high-end computers, while Unity games may have little worse graphics but they work smoothly on more platforms including slow devices, and Unity doesn’t favor one game genre over the other. Unity supports both 2D and 3D games equally.
Both engines have asset stores yet Unreal has smaller asset store and Unity has bigger, where the latter also comes with a lot of free assets to download, while the former mainly consists of paid products.
In unreal you code using harder C++ while in Unity you code using easier C#. Unreal also has blueprints but their complexity and numbers aren’t making them any easier than Unity’s C#.
Both engines are free until you start making certain amount of money on your game sales. With Unity you are allowed to earn up to $100K yearly without paying anything. If you cross that then you have to pay $25 monthly, which is a small price. Unreal is free until you cross $3K in sales per quarter, and then you have to pay 5% of your total revenue.
There are other engines that you could use but they aren’t as good as Unity and Unreal. Most popular choices are CryEngine, GameMaker, Amazon Lumberyard, RPGMaker and Godot.