The indie games market was once dominated by the Unity engine, and to this day it is strong in its segment, but is gradually losing ground to Unreal Engine 4. Today we will talk about why this happens and try to help you decide on the heart of your future game.
When Unity hit the market, most serious game development engines were paid. Free programs like RPG Maker only offered some of the features, with the rest hidden behind fees. Therefore, when the world saw a full-fledged and free alternative, many decided to overcome their fear and start developing. Unity has evolved, offering more and more interesting solutions for both 3D and 2D games.
Today, Unity’s biggest competitor is Unreal Engine, which has evolved into another free and user-friendly framework.
The two engines have extensive tool sets, including a landscape editor, physics simulation, animation, advanced lighting, VR support and much more. But lately, you can see that many developers with small or medium-sized projects done in Unity are starting to switch to the Epic Games product. Some are even trying to make their first full-fledged games using Unreal Engine 4. Why?
Greater effect with less effort
In today’s quest for better graphics, a player spoiled by AAA projects feels like a seasoned producer, so any product with a small budget and without artists with 20 years of experience is considered at least mediocre. The best example is survival games, which often look good but don’t deliver the same level of quality as Gears of War, God of War, or even Days Gone. Therefore, when starting to create a game, developers think about how to achieve cool effects in the simplest way, and here Unreal Engine 4 definitely wins. After the first launch, it gives the notorious “wow” effect with a demonstration of beautiful lighting, detailed models and powerful tools for changing graphics.
In Unity we see a rough, outdated scene. To achieve a good effect similar to UE4, you will have to work hard: change the rendering system from normal to HDRP, replace the light and skybox with more pleasant ones. But even after transformation the same result will not be obtained. This is mainly due to the fact that Epic, as an engine developer since the 90s, has accumulated a lot of experience and created something new every time, and the rest had to catch up. Unity is more focused on small projects made mainly in 2D and for mobile devices.
Simplicity and intuitiveness
Another important advantage of Unreal Engine 4 is its greater intuitiveness. If you want to do something with a game in the Epic Games program, you always have a ton of good solutions at your fingertips that work comprehensively by default. No need to worry about any extra stuff that needs to be downloaded or rewritten manually to get it working. In Unity you will have to dig into the right tools to create the same thing that is native to Unreal. Somewhere more programming work will be required, which means more time and money.
It’s no secret that most of the money for implementing a game is estimated in the number of working hours of a good programmer. Therefore, if we have a limited budget (and it is usually limited), we want to do as much as possible without involving an expensive specialist in all the details. Unity doesn’t have the same amount of useful options, so prototyping a game scene as a designer is sometimes limited by the fact that we don’t have the things we need and have to wait for someone to write them. In Unreal Engine 4, you just need to learn a few rules of visual scripting, and you can do almost anything.
As an example, let’s take two simple things: door animation and a staging scene. To make an interactive animation of a door opening in Unity, you need to know how to properly program such mechanics in C#, enable collision detection and prepare an animation sequence – these are three different windows and require knowledge of a programming language. Implementation is also possible through the Bolt visual programming tool – in the summer of 2020 it became free.
In Unreal Engine 4, all you need to do is create a corresponding Blueprint (visual scripting element), into which you can immediately add a collision, an animation sequence, and prepare the working mechanism with a few simple connections. The process on the two engines is largely similar.
The second example is videos related to gameplay. In Unity, you should become familiar with the Cinemachine tool (preferably in conjunction with Timeline) – it will take a day or two to master. In UE4, all you have to do is open the Cinematic tool, manually adjust the camera, separate the cutscene from the rest of the game with one click, start recording, and with a simple click save what has been created into the game world. In literally 5 minutes (maybe a little longer) you can show a swinging bridge, growing trees or moving objects and use them in the gameplay.
Support and convenience
When we create something in Unreal Engine 4, we just need to choose one specific version, for example 4.26, and no longer worry about it being updated every week and quickly becoming outdated. When UE4 receives a patch in one edition, the transition is almost imperceptible.
In the case of Unity, we need to think about which version we want to work with, because not every version will receive long-term support from the company. If this happens, there will be a dozen patches, and the transition, for example, from Unity 2020.1.2 to Unity 2020.1.12 is associated with technical problems.
Epic provides full support, helps with even the smallest problem, and offers detailed documentation on its tools.
With Unity, everything is a little more complicated, and sometimes it is faster to find a solution through the community than from the company itself. Additionally, Unity documentation and tutorials can be complex and unreadable, while Epic Games even funds companies that create good tutorials for the Unreal Engine community.
After the above comparisons, it may seem that it is better to start making games in Unreal, but this is not so.
For and against
If you go down to the code level, Unity will benefit from the fact that it is C#, which is easier to write in. Unity has a huge community and you can find a lot of tutorials on YouTube, so even without programming skills you can implement something simple using this engine.
UE4 is great for rapid prototyping, large games, and is open source, but requires C++ knowledge to run. The big advantage is the ability to create a full-fledged game with virtually no code.
Unity has slightly lower system requirements; the engine itself and projects on it take up less disk space.
The two engines are capable of producing approximately the same graphics. Initially it is better in UE4, but it all depends on the experience of the developers.
On the other hand, when creating small 2D and 2.5D games, Unity is the best choice, especially when it comes to a product with a touch interface. The downside is that Unity is closed source and without Bolt (a virtual programming tool) you need to learn how to program. But learning is relatively easy with many free and paid courses.
As you can see, it all depends on what projects the studio wants to tackle. If it’s a 2D or 2.5D mobile game, developers will obviously choose Unity because of its simplicity. Unreal was not created for 2D games and implementing the project would add unnecessary complexity. But if you are planning a fighting game, a race, or a serious shooter, it is preferable to choose Unreal Engine 4.