I've spent the last 2 to 3 months studying the current state of the most known game engines to use for my next game. In this article, I will summarize everything I've learned graphically, with a table of features.
The engines I have considered for my game are:
- Unity: One of the most know engines, it can create a game for almost any platform; and it is well known for its use on a vast amount of Android & iOS games.
- Unreal Engine: Another well-known actor in the game dev scene, Unreal can produce high-quality games for desktop, consoles, and mobile devices.
- Godot: An open-source game engine that is growing exponentially over time. It can produce desktop, web, and mobile games.
- Defold: The game engine created by King and open-sourced in 2020, focused on web & mobile 2D games.
This comparison doesn't pretend to be exhaustive, I'm going only to do a quick overview of each engine; it's a comparison focused on beginners who want to have a quick overview of the presented tools.
I'm going to use the following symbols for each category:
- ✅ The engine has robust support for this feature.
- ❌ The engine does not support this feature.
- 🚧 The engine can potentially support this feature, but it can be in form of beta packages, or some extra effort might be involved.
When reading the table you will encounter annotations under the form of (1). These are extra notes that can be found below the table to have a better understanding of the current state of that particular feature.
|Source available||🚧 (1)||✅||✅||✅|
|Free to use||🚧 (2)||🚧 (2)||✅||✅|
|Learning curve||✅ (3)||🚧 (3)||✅ (3)||✅ (3)|
|3D||✅||✅||🚧 (4)||❌ (5)|
|Linux||🚧 (7)||🚧 (8)||✅||✅|
|Language||C#, C++||Blueprints, C++||GDScript, C#, C++ (9)||Lua, C++|
|Built-in editor||✅||🚧 (10)||✅||✅|
|Nintendo Switch||✅||✅||🚧 (11)||✅|
|Small app size||✅||🚧 (12)||✅||✅|
|Official ads plugin||✅||🚧 (13)||🚧 (14)||✅|
|Official purchases plugin||✅||✅||✅||✅|
- It is possible to obtain Unity's source code, but you will need to establish a commercial relationship with Unity and pay a high price.
- These engines can be used for free, but you will be forced to start paying when your game reaches a certain revenue threshold.
- Here we're using ✅ for very easy to use, and 🚧 to mark a steeper learning curve.
- Although Godot has 3D capabilities, it is known that doesn't provide advanced features like occlusion culling or auto-LOD. Godot 4 will try to fix those issues.
- Defold is a 3D engine at its core, but here I consider it as a 2D engine since its has very limited 3D support.
- Unreal provides only a very basic 2D capabilities, you will probably need to download additional plugins or create your own 2D system to make it work properly.
- The Unity editor is available in Linux but contains packages that are in preview state.
- The Unreal editor is available in Linux, but Epic doesn't provide pre-built binaries so you must compile it by yourself. Also, there is no possibility to add the content of the asset store as purchased content is downloaded through the Epic Games Launcher, and this launcher is not available in Linux.
- Besides supporting GDScript, C#, and C++; Godot also allows using other languages via bindings made by the community.
- Unreal only provides a built-in editor for creating Blueprint code. You will have to use an external editor for C++ code.
- The open-source Godot project does not contain the code required to export to consoles, so you will need to adapt it by yourself or contact specialized companies to assist you in that process.
- The application size when exporting with Unreal is significantly larger than the rest of the engines, even so there are resources and mechanisms to try to reduce it as much as possible.
- Unreal have an official AdMob plugin for Android, but for iOS you will have to purchase an additional plugin in the asset store.
- Godot doesn't have official plugins for ads, but there are a few plugins created by the community.