How do I choose the right game engine and programming language?

Answers are extracted from comments on social media posts
🚀 Answers
Bisher Dokkmak
Choosing an engine depends on several factors:
1- Project type: Most current commercial engines can be used to develop any type of game; they are commercial tools for all types of developers. However, each engine is better suited to a specific type of project. For example, multiplayer shooter games can be made with any engine, but UE supports networking better than other engines.
2- Project size and execution time: One of the most important elements is the project size or scope. If the project is small and doesn't require high resource management, the development time is often limited. In this case, it's best to use tools that facilitate rapid development, such as Unity or Roblox. This also depends on the time required and the specifications needed. However, if the project requires more time and high performance with numerous specifications and features that cannot be achieved without very precise and intelligent resource management, then it's best to choose an engine that uses a resource management language closer to memory, such as Source or Unreal.
3- Team Member Experience: Some may overlook the team's experience and familiar tools, arguing that they can quickly change teams or hire experts in the field. However, tool selection often depends on the existing expertise within the current team, the limited experience in the job market, or the high cost of hiring specialists in specific programming languages or tools. Changing the team's expertise or hiring a new one requires significant time and effort, which may exceed budget constraints and lead to wasted capital.
Ultimately, game engines are simply tools, nothing more and nothing less. Developers are the true creators of the game. You might need to develop a custom engine for your game, which could lead to a more successful project than using a pre-built tool. However, using a pre-built tool can also be a waste of time and money. Every project requires its own appropriate tools. 🤷♂️
I didn't delve too deeply into the programming language used, because each engine uses its own specific language. If you want to build your own engine, the target platform often limits your language choice. The language selection usually depends on what you want to do, although 90% of the options are limited to C++ and C# 😆
1447-06-01
Ziad Kurdi
My opinion as a programmer:
- Determine the target rendering model: is it 2D or 3D? Is the style stylized or realistic?
- Determine the target platform: PC, console, mobile, or a specialized device.
- Technical familiarity: how well does your team know the technology you plan to use, and how much time are you willing to spend learning it if you are not already proficient? Using a plugin or tool alone is not enough.
- Cost and support: how much will a license cost, and how can you get value from that investment for your game's development?
Source: LinkedIn
1447-05-12
Abdulrahman Abu Sa'da
In short:
If you're looking for work, choose the most widely used engine, especially in the region where you want to work.
If you're a hobbyist making games for fun: choose whatever you like.
Keep in mind that once you make progress in one engine, you'll be able to learn other engines if needed — most fundamentals are shared across engines.
Source: 𝕏
1447-05-15
Abdullah Bakhsh
- I think the most important step is to know the type of game you want to make first; that determines which engines are best for the project.
- The programming language depends on your level of mastery. If you're a beginner, start with easier languages to learn programming basics before moving to harder languages.
Source: LinkedIn
1447-05-20
Ghaith Zaiter
The character in the image is from Hollow Knight: Silksong.
Then you can choose the engine that fits you by asking yourself questions like: Is the game 2D or 3D? Do you already know a programming language or not? Some languages are harder while others are easier.
The basics are the same across languages; only the syntax differs. You can also use visual programming (connecting nodes), which is easier in some cases.
Another key factor is your hardware: I chose Godot at first because it's light on my machine, while Unreal needs a tank to run. 😂
Finally, community matters — a popular engine means more people to help you and more learning resources.
1447-05-09
BQR
Choose the engine that suits you and check which languages it supports — engine first, then language.
Pick the engine based on the type of games you want to make: for 2D games pick Godot for example; for large 3D games with high-end graphics pick Unreal.
1447-05-09
Sami Salem
You can choose an engine based on the following points:
- Try several programming languages supported by most engines like Python, C#, or C++ to determine which language you prefer by building small apps. Once you've chosen a language, pick the engine that supports it well.
- Follow a series of basic tutorials for each engine — for example start with Unity, then try Unreal, then Godot or others. Then evaluate which engine's workflow suits you and feels clear and easy.
- Consider the type of games you want to create; this guides which engine is best. You can make almost any kind of game in any engine, but some engines are easier for certain types.
The important thing is not to be fanatical about a single engine — try to have basic familiarity with other engines in case you need to switch.
Also, make sure the engine supports Arabic either natively or via plugins. 😅
Source: 𝕏
1447-05-09
Yazan Al-Tahan
In my opinion, developers should first build a foundation in C and C++ and understand how commands work, then move to an engine. The best starting engine for many developers is Unity.
C# isn't too hard as a starting language and you can learn and progress with it; after you have a Unity project under your belt, move to Unreal and learn Blueprints (which many consider complex despite being visual).
After that, move into C++ for Unreal, which requires solid experience.
Source: 𝕏
1447-05-09
Al-Munaiee
The engine is a tool.
- Choosing an engine for the sake of using it is a hobbyist choice.
- Choosing an engine because it fits the project is the choice of the ambitious.
Your project might even be about learning an engine to enter the job market.
In either case, as an individual or beginner team, building a AAA game is usually impossible — creating one professional high-quality asset can take 3+ months by a skilled person.
Source: 𝕏
1447-05-09
Saleh Al-Adini (Sygma)
The most important factor when choosing an engine is that it runs on your hardware. If your machine is very weak, avoid heavy engines.
This is literally the most important reason.
But if that's not an issue and you have a powerful machine, pick the engine that best matches the game you plan to develop. For example, choose Ren'Py for a simple visual novel, but pick an engine with strong 3D support for platformers or 3D games.
Source: LinkedIn
1447-05-09
Essam
If you're a beginner, I recommend using an engine that has a lot of educational content for the type of games you want to make.
Source: Bluesky
1447-05-09