When I think about game development, two companies will come to my mind, Unity, and Unreal, since these are the most popular game engines. When I started to study game development, I had no idea which one I should use because I didn’t know about the two platforms. I ended up using Unity because the project I took over was developed with Unity. So, today I would like to talk about which game engine you should choose.
Programming Language
Unreal and Unity are the best game engines obviously. So, in my opinion, the first thing you have to think about is the programming language. Unreal engine is using C++ and Unity is using C#
In case of Unreal, there is blueprint which is a visual script language. So that even though you do not know how to code with C++, you can create a game with a mouse. However, this has very slow execution time. So if yoIn the case of Unreal, there is blueprint which is a visual script language. So that even though you do not know how to code with C++, you can create a game with a mouse. However, this has a very slow execution time. So if you script your game only with blueprint, it is 5 times slower than when you script with C++. So I can say c++ is inevitable for Unreal game development. But, C++ is a pretty complex programming language to learn and get used to it for people who have non-technical backgrounds. Especially when it comes to “pointer”, it is a really difficult concept to understand even for people who have programming experience.
On the other hand, C# used by Unity is a high-level language which means that it is much easier to learn and use. (C++ is an intermediate-level language, close to machine code).
If you don’t have programming experience and learn it from scratch. Unity could be the best option!
Market Places / Assets Store
When you work on game development, it would be good to create all functions from scratch, but you will find yourself using presets or resources because it makes your project much easier.
Of course, the two game engines also provide you presets and resources. You can download it from Market Place for Unreal, or Asset Store for Unity.
Market Place(Unreal): Unreal provides their users with free resource files and it is a really high-quality resource. For example, Epic games share their game sources on Market Place.
Asset Store(Unity): one of the biggest benefits of using Unity is that they have ample amount of presets and resources for their users. Even small team or individual developers check assets store before developing some function to compare the development cost whether it is cheaper when they buy or create themselves. But, unlikely, it is not free.
So, if you have a budget for buying resources, Unity will a good option. Otherwise, if you don’t have allocated budgets, then Unreal will be the best option for you.
Technical Differences
I don’t want to go deep into this topic since it is too difficult to discuss on this blog and with my knowledge. So, simply saying, the biggest differences between two engines are the way of approaching how to make a game.
In order to complete the same task, for example, let’s assume you are creating a game, and you want to change your graphic work. Unity provides you a function that you can make a change (It requires you to do some code works to put changes together). However, the Unreal engine does not provide you a function that you work on the object directly, one way you can do is to put another layer to look like you want.
In this topic, it is up to your preference about how to work on a project. So, if you are looking for a better way of expansion of your work, Unreal would not be the best option for you.