What is a game engine?
A game engine is software that provides the features you need to make a game in one package. The parts common to almost every game, such as drawing images on screen, receiving input, playing sound, and moving objects, are already prepared. That lets you focus on what is unique to your game instead of building everything from scratch.
Many engines come with an editor where you assemble the scenes of your game on screen. Engines differ a great deal in how you build a game, the terms they use, and the kinds of games they are good at. Switching engines later takes real effort, so your first choice matters.
Three things to consider first
1. Do you want to make a 2D or a 3D game?
2D games (built from flat images) and 3D games (built from three-dimensional models) need different assets and different amounts of work. Engines also differ in whether they are better suited to 2D or to 3D.
2. How will you program?
Each engine has its own programming languages. Some engines also offer visual scripting, where you connect nodes to build logic, and some let you make a game without writing code. Whether this matches your experience and the direction you want to learn is a useful guide when choosing.
3. How much learning material and community support exists?
When you are starting out, you will spend a lot of time looking things up. Besides the official documentation, how many guides, videos, and places to ask questions exist affects how easy it is to keep going.
Comparison of the main engines
| Engine | Main focus | Main ways to develop | Characteristics |
|---|---|---|---|
| Unity | 2D and 3D | C# | A standard engine that handles both 2D and 3D. |
| Godot | 2D and 3D | GDScript, C# | Free and open source. You build with scenes and nodes. |
| Unreal Engine | Mainly 3D | C++, Blueprints | Strong at high-quality 3D visuals. Offers Blueprints Visual Scripting. |
| RPG Maker | RPGs | No code (events), plugins | The basic features of an RPG are prepared for you. |
The “Main ways to develop” column lists typical choices. What is actually available can vary with the engine version.
Characteristics of each engine
Unity
Unity is a widely used engine that can make both 2D and 3D games. The official manual explains that Unity supports the C# programming language natively for scripting.
You build the parts of your game as Scenes. You place GameObjects in a Scene and add Components to them to assemble features such as appearance and behavior. A GameObject you use often can be turned into a Prefab and reused.
Because it has many features, the interface and terminology can be confusing at first. On the other hand, there are many guides and videos, so it is easy to look things up as you go. Pricing and license terms can change, so check the official website for the latest details.
Godot
The official Godot documentation describes it as a feature-packed, cross-platform game engine for creating 2D and 3D games from a unified interface. It is provided as completely free and open source software under the MIT license.
In Godot, you build a game from combinations of nodes. A group of nodes forms a scene, and you combine scenes to make the whole game. Nodes communicate through signals. For scripting, you can use GDScript, a language designed for Godot, and C# is also available.
The engine is light and makes 2D games easy to build. If you plan a large-scale 3D game, it is wise to check in advance that the features you need are available.
Unreal Engine
Unreal Engine is provided by Epic Games and is strong at high-quality 3D visuals. You build the scenes of your game as Levels, and the objects placed in them are called Actors.
You can program with C++ and with Blueprints Visual Scripting. According to the official documentation, Blueprints is a system that lets you create classes, functions, and variables in the Unreal Editor by connecting nodes. The documentation also describes combining the two, for example setting up base classes in C++ that are then extended and adjusted with Blueprints.
The high-quality visuals tend to come with higher demands on your computer, so check the recommended system requirements on the official website. It may take some time at first to learn the controls and terminology.
RPG Maker
RPG Maker is a series of tools specialized for making RPGs. Its main feature is that you can make an original RPG without programming knowledge. The features an RPG needs are prepared for you, such as creating maps, setting up character and enemy data, and setting up events that control how the story progresses.
In newer entries such as MV and MZ, you can extend the engine by adding plugins written in JavaScript. However, because it is built around the shape of an RPG, it is not suited to games other than RPGs, such as action or shooting games. Features and supported environments differ between entries in the series, so check the official website of the product you want to use.
Choosing by goal
| What you want to make | Candidates | How to think about it |
|---|---|---|
| 2D action or shooting games | Godot / Unity | Godot makes 2D easy to build, and Unity has plenty of learning material. |
| 3D games | Unity / Unreal Engine | Choose Unity if you value learning material, or Unreal Engine if you value visual quality. |
| RPGs | RPG Maker | RPG Maker suits you if you want to build one without writing code. |
| Visual novels, puzzles, and so on | Unity / Godot | Any engine can make them. Choose by the language you want to use and how easily you can build the screens. |
| You want to avoid writing code | RPG Maker / Unreal Engine (Blueprints) | RPG Maker for RPGs, or Blueprints for 3D projects. |
This table is only a guide. If you have already decided which engine you want to use, it is fine to go with that one.
What to watch for when choosing an engine
- Check pricing and licenses on the official website: Pricing and terms of use can change. Always check the latest terms before you release your game.
- Try a very small game first: Finishing a tiny game in your chosen engine shows you whether it suits you.
- Switching later is hard: Changing engines usually means rebuilding your game. If you already know what you want to make, pick an engine that fits it from the start.
- Versions differ: Engines are updated, so guides and videos may not match the version you use. Also check the official documentation for your version.
- Check your computer’s performance: Each engine needs a different level of computer performance. Check the system requirements on the official website.
Check with our tool
Our Game Development Roadmap asks a few questions and then puts together a roadmap with a recommended engine and the steps to follow. Use it as a reference when choosing an engine. Your answers are never sent anywhere.
This article is based on the official documentation for Unity, Godot Engine, and Unreal Engine, and on official information for RPG Maker. Features, terminology, pricing, licenses, and system requirements may change between versions. Be sure to also check the official information for the version you use.