Game engines simplify some of the most frustrating and repetitive tasks in game development. Building your own framework means investing a ton of time testing and bug hunting. Go with a good engine, though, and you can focus on content creation and playability, not technical details.
Below we outline some of the most popular game engines used by professionals around the world. We consider price, support, technical abilities, and other areas to help you choose the best engine for your project.
Unity is the most popular game development engine around. It started as a Mac OS X exclusive in 2005 but now supports Windows and Linux for developing and exports to those platforms along with mobile devices and consoles. Unity is used extensively by both independent developers and professional studios.
Unity growth facts. Source: Unity
From the beginning, Unity’s design philosophy focused on accessibility. The engine is easy to learn, exports to many popular platforms and is free to use at the “personal” pricing level.
Unity offers a plethora of professional-grade tools and APIs for implementing graphics, audio, networking, physics, GUIs, and scripting. Everything you would expect from such a popular engine. Unity supports 2D and3D game development with a robust physics and collision system. Right out of the box and with surprisingly little effort, anyone can create first-person shooters, RPGs, platformers, and more.
Unity also has a powerful and customizable UI that carries a ton of functionality, letting you make changes to your game without coding. If you do write code, you can choose to make the variables in your script public, allowing other people to access and change them through a human-readable. This has led to a thriving community of Unity creators who are eager to share their work to make game development easier for everyone.
Unity interface. Source: Unity
Unity can export games to an impressive 25 platforms. It has no problem compiling for all major desktop operating systems, PlayStation 4, Xbox One, Nintendo Switch, WebGL, and more. Unity is the engine of choice if one of your main concerns is easily porting your game to a variety of platforms.
Unity offers many in-engine extras for animation and audio. If you’re looking to do specialized work with tools like FMOD or Wwise, Unity allows you to easily integrate them. This may be a necessity depending on your work pipeline, as your coworkers or contractors might need these tools on their end. Since the tools aren’t native to Unity’s environment, though, your mileage with them may vary.
“Easy to learn” is a subjective measurement, but the general consensus from experts is Unity is precisely that. The engine won’t do everything for you, and you can only get so far by following tutorials and copying code. However, there’s a reason why Unity is popular among independent developers. Many schools teach game development with Unity, and the amount of tutorials, guides, help forums, documentation and discussion about the engine is enough to turn a budding developer into a well rounded professional in no time.
When reached for comment, student game developers confirmed their preference for Unity over other engines. Malcolm MacDonald, an independent Unity developer, mentioned that Unity being free and having a proven track record on large games was the deciding factor for his choosing it. Unity’s positive history among academics often secures its placement as the first engine students use, and its intuitiveness, support, and reputation keep them from switching to another engine down the road.
The benefit of a huge user base is a huge forum. Unity has dozens of boards to discuss anything under the sun. From topics as general as “2D Games” to ones as specific as the “High Definition Render Pipeline”. Within these topics are thousands upon thousands of posts on troubleshooting, speculation, experimentation and more. Unity’s CEO John Riccitiello recently stated that “half of all games are built on Unity.” So if you get stuck, chances are there’s already a post somewhere with the solution you’re looking for.
The Unity Asset Store is also a great resource for developers. Thousands of Unity-ready 3D models, audio clips, and code snippets are hosted for sale or for free. If you aren’t an artist yourself, you can probably find art that fits your needs.
As mentioned, Unity is beginner-friendly, highly capable, and features a ton of tools with an expansive community to boot. It can export to many platforms and is easy to get up and running. From the artistic and narrative-heavy Cuphead and Hollow Knight to the competitive, mechanics-driven gameplay of Escape from Tarkov, Unity can handle it all.
Escape from Tarkov
But are there reasons not to use Unity?
For one, Unity may prove too complicated for what some developers need. It has a high ceiling of capabilities that can come with a steep learning curve. There are simpler, quicker engines out there for those that want to make a simpler, quicker game. An expansive engine like Unity might be overkill in a lot of cases.
Being an older engine, Unity has its share of idiosyncrasies and outdated features. Just recently, the widely used uNet API for networking has been declared depreciated and is being phased out in the newer versions of the engine. Many developers rely on this technology for their in-progress games. Having to learn a new networking solution is not an option for some, and the cost to refactor their existing projects to work with the new systems can be high. Plus, many shipped games using uNet will have to maintain the infrastructure on their own, as support for the tool is being phased out.
Beyond the free personal tier, Unity gets expensive. If you want all the features Unity Pro offers, you’re looking at $150 USD per month. This is fine if you can afford it, and can justify the spending, but this just means the free version of Unity comes with limitations.
Unreal was released in 1998. It sports the same base features as Unity, handling physics, graphics, gameplay logic and more, but there are some features that make it a clear choice for certain game developers.
Unreal Engine (UE) prides itself on higher fidelity graphics handling. Out of the box, Unreal’s lighting system looks a lot better than Unity’s. Without getting too specific, your game will simply look better in Unreal, all without much configuration or negative impact on in-game performance and compile times.
Here’s what a scene can look like in Unity and UE. Source: Unity Guruz
Unreal has an amazing visual scripting tool called Blueprints. It allows you to drag and drop nodes, connecting them and changing their properties to prototype quick ideas or even code your entire game. This feature is appealing for beginners without being too limiting. Many AAA titles have also been made with extensive use of Blueprints, including Batman: Arkham Knight, Gears 5, and Borderlands 3.
Derek Yip from Sun Machine Games found the mature nature of Unreal’s real-time multiplayer component necessary for their game. Derek also praises the value the Blueprints system brings to prototyping, as ideas can be quickly carried out without a huge time cost.
Unreal’s source code is open, meaning the engine itself is customizable to some extent. You can add support and integration for your preferred language, make custom tools and middleware, or change how the engine works to suit your needs.
Jannik Verdoner, a Ph.D. Computer Science student and independent game developer prefers Unreal over Unity for this very reason. Projects that required a lot of custom tools and configurations were only made possible by Unreal’s customizability.
As mentioned, having an open codebase allows for plenty of deep-level customization. This opens the door for integration with scratch-built tools, existing software, or modifying the function of the engine itself.
That being said, the tools included with Unreal lean more towards the complicated end of the spectrum. Unreal has a slightly different use case than Unity, but on average the features are slightly more challenging to tinker with.
Taken from Unreal’s website, you can export your finished games to Windows PC, PlayStation 4, Xbox One, Nintendo Switch, Google Stadia, macOS, iOS, Android, AR, VR, Linux, SteamOS, and HTML5. Impressive, but a smaller pool than Unity’s.
Unreal is written in and uses C++ as its scripting language. With careful integration, other languages can be used, but the editor itself is C++ oriented. There were other options in the past, like a proprietary language called UnrealScript (sound familiar?), but now the engine only supports C++.
Unreal is aimed towards more professional and established developers with its steep learning curve and its fleshed out tools. Typically, Unreal is harder to use, with C++ being considered one of the harder coding languages to learn.
Unreal Engine editor. Source: Epic Games
The Blueprints system is intuitive but comes with its own limitations. Some aspects of a game can’t easily be constructed this way, forcing you to code them traditionally. Overall, Unreal is an engine for those who know what they’re doing, and who can take full advantage of the tools and features they provide.
In terms of pricing, Unreal is completely free. Every aspect of the engine is available to you for no money at all. However, Epic Games (Unreal’s parent company) will take a 5% royalty when you monetize your game, but only on the money, you make over $3,000. If you host your game on the Epic Games Store, this fee does not apply.
Unreal has a smaller user base and as such lacks the online community support Unity has. Less attention makes for fewer answers to questions. The documentation can seem confusing, too, and the engine is not often taught in schools. Be careful as a beginner if you choose to go with Unreal, you may face a steep learning curve.
Unreal is capable of creating beautiful looking games right out of the box. It’s a powerful engine with the ability for rapid prototyping and visual coding, and the engine itself is highly customizable.
However, Unreal can seem hard to dive into as a new developer. The difficult language of C++ paired with the lack of support and community can turn many users away. But if you and your team are well-adapted to the intricacies of Unreal, it’s an amazing engine to go with.
GameMaker Studio 2 is a lightweight, beginner-friendly engine that really packs a punch. It lacks the 3D capabilities of Unity and Unreal, preferring instead to focus on 2D games. GameMaker has extensive documentation, a great community, and plenty of online resources for learning how to use the engine.
GameMaker has the ability to crank out some 3D graphics, but this requires extensive knowledge and a lot of coding to pull off. For its size, the engine is highly capable of making amazing 2D games with ease. Games like Undertale, Hotline Miami, and Hyper Light Drifter are perfect examples of what GameMaker Studio 2 can do. The engine shines when making this subgroup of often single-player, pixel art, narrative-focused games.
GameMaker Studio 2 interface. Source: Steam
GameMaker also has tools for handling sprites, audio, animation, physics and more. The engine features a drag-and-drop interface for coding quick proofs of concept, or even entire games if you can manage.
The engine does have support for shaders. If you know GLSL or HLSL, you can fully explore the shader integration GMS2 provides.
Unfortunately, GameMaker comes with hefty price tags if you want to export your games, costing $39 each for exporting to Mac or PC, or $99 for Mac, Linux or Windows. The license to export to the web costs $149, and $199 for exporting to mobile. Console exports come with their own prices too, running $799 each for PS4, Xbox One, and Nintendo Switch, or $1,500 for exporting to all three.
GameMaker is an easy engine for 2D games, with amazing built-in tools for gameplay logic, sprites, and more. It can’t do much in the way of 3D work, but if you’re fine with 2D games, that isn’t much of a problem.
The real drawback to GMS2 is the high cost involved in exporting to different platforms. If you can afford the multiple licenses, though, GameMaker Studio 2 is a quick and easy way to make impressive 2D games.
While more of a software stack than a consolidated engine, HTML5 is worth talking about. Frameworks like Construct and Phaser utilize this technology and platform to create high-quality in-browser games, both online and single player.
You can also use any of the server-side languages or runtime environments typically used in web stacks, such as PHP or NodeJS. This makes server code easier to write, as the functions and server configurations are what web developers are already used to.
Games like Gods Will Be Watching, Free Rider HD, and Little Alchemy were made with HTML5. This gives a tangible idea of what is capable with HTML5.
Gods Will Be Watching. Source: Kongregate
The obvious export options for HTML5 are web browsers, but you can also export your game to desktop platforms. You will need to install and use different packages to achieve this.
You can also export to mobile platforms, though your game will essentially run as a web page.
HTML5 games can be created with a plethora of languages that suit the game’s needs and are comfortable to use for developers.
As is the case with the back-end server-side code, you’ll have many languages and environments to choose from, as well.
HTML5 is fundamentally accessible to a lot of developers, given the technology stack it relies on and the environments in which it can run. The games tend to be lightweight, require no downloads, and will work in most modern browsers on a wide range of computers.
It’s hard to predict the various environments your game will be running on if built with HTML5, and even harder to predict its performance.
Godot is comparatively new to the game engines ecosystem, but it has some pretty interesting features that are getting a lot of people’s attention.
First, Godot is entirely free and open source. You’ll never have to pay for it, and Godot will never take a cut from your earnings. The codebase is maintained by a few employees, but many bug fixes are solved through community efforts and volunteers.
You are free to customize the engine to your heart’s content. The extensive documentation of the workings of the engine are public for you to use, and Godot encourages tinkering and customization.
As far as technicalities, Godot is a beast. It has 2D toolsets comparable to GameMaker Studio 2 or Unity, with a node-hierarchy system as intuitive as Unreal’s Blueprints. Users report Godot being easy to pick up and learn, with a seamless UI, instinctive encapsulation system, and a fully realized 3D aspect that’s being improved upon every day.
Godot editor. Source: GDQuest
Godot just received an “Epic Megagrant”, a funding opportunity set up by Epic Games, totaling $250,000. The engine impressed Epic with its graphical capabilities and development roadmap. The fact that an established company like Epic would donate a quarter of a million dollars to help improve the engine means Godot must be showing promise.
The node-hierarchy system is similar to Unity’s child nodes, which quickly allows developers to see what game objects are grouped or inherited by others. It also allows one to easily reorganize objects with the drag of the mouse. This system allows you to group scripts, game objects, sprites, animations, and sound, and easily duplicate this structure anywhere in your game. It visualizes object-oriented programming practices and allows you to modify that structure on a whim.
Godot lets you export your game to Android, iOS, web, and all desktop platforms for free. You are only required to download specific release templates for each platform you want to export to. This is Godot’s way of keeping the engine’s download size small. So, for example, if you never plan on exporting your game to iOS, you’ll never need to install the release template for it.
Godot supports C# and GodotScript for scripting. C# is widely used and GodotScript is intuitive and readable, similar to Python. This way, whether you know C# already, or enjoy the simplicity of Python’s syntax, Godot has you covered.
It’s hard to gauge Godot’s placement in the market, as it’s relatively new to the scene and has not yet been adopted by any AAA studios as their engine of choice. However, Godot’s lead developer Juan Linietsky has mentioned on Twitter that Godot is now the 3rd most used game engine in the Global Game Jam this year. It seems that independent developers are starting to migrate away from quick, light engines such as GameMaker in favor of Godot.
It’s too early to say exactly where Godot fits in the rankings of the more established engines, but it’s definitely worth trying out.
While no blockbuster titles have been created using Godot, it has the capabilities of all the major engines, with the benefit of being completely free, open-source, and easy to learn. All things considered, it seems like Godot will become a big player in the industry.
Being free forever is a game-changer. Being free without limitations, without paying royalties, and without licensing, opens the engine up to absolutely everyone regardless of available funds. You’ll never lose access to it if you can’t pay one month, and the bill will never increase on you.
Being completely open-source promises almost constant support for the engine as well. Even if the team behind Godot were to vanish one day, the community could continue to improve and maintain the engine, as they are doing already. Unlike other companies that depreciate features in newer releases, having control over the engine’s source code allows people to keep Godot going.
These two facts make Godot very indie-friendly, and it’s reportedly easy to learn as well. Beating out GameMaker and Construct in the Global Game Jam shows the tides are turning, and it may be time to jump ship to Godot.
It’s important to note that there are other engines capable of the same performance as the ones mentioned here. CryEngine, for example, is a free, robust, 3D capable engine like Unreal or Unity. RPG Maker is a light, easy, 2D engine with a huge community of developers.
The five engines we covered are capable of most, if not all, of the same features as the engines we didn’t mention, while being easier to learn and well-supported. Starting with these engines will let developers test the waters, experiment, and then perhaps graduate onto the more specialized engines that fit their needs.
Schedule a call today with a publishing expert at firstname.lastname@example.org