The following is a collection of still actively developed 3D game engines, organized by the primary programming language used for scripting game logic (not necessarily the language the engine was written in). It includes open source, free and free to start (royalty or maximum revenue before payment required) game engines. Open source and commercial engines (with a free license available) will be marked with an appropriate icon. Many game engines are both 2D and 3D in nature, so may appear on the 2D list as well.
This icon designates a game engine that is open source.
This icon designates a game engine that either requires you to pay royalties or requires payment after a certain income threshold is met.
C++ Game Engines
Banshee Engine (now defunct)
The Banshee engine is an open source (C++) 3D game engine with a full editor, built on top of the bs framework. It also supports C# scripting. It provides Direct X, OpenGL, and Vulkan renderers and the source code is available under the LGPLv3 license. You can learn more about Banshee Engine here.
CryEngine has had a long and storied career, going back to the first Crysis game back in 2007. Since that time Crysis has powered several commercial titles since including various FarCry titles, Mechwarrior Online, Ryse Son of Rome, Homefront, and more. CryEngine is now available for a fixed royalty of 5% on revenue beyond the first $5,000. CryEngine is a full-featured 3D game engine currently in the middle of a refactor to an ECS system and a migration to C# as the scripting language, in addition to C++ and their own built-in visual programming language. CryEngine runs on Windows PCs and is capable of targeting Windows, Linux, Consoles, and VR, but not mobile. You can learn more about CryEngine here.
The Innovation Engine is an open sourced(primarily BSD2) teaching game engine that has been developed over the last several years. It is designed to teach you several modern rendering techniques, but could easily be used to create a commercial quality game. You can learn more about G3D Innovation Engine here.
The Limon engine is an open-source(LGPL) C++ game engine with a full editor. It is primarily the work of a single developer, yet contains most of the functionality you would expect from a modern game engine. It is available for Windows, Linux, and Mac, targeting those same platforms. You can learn more about Limon Engine here.
While John Carmack was at id Software they traditionally open sourced their previous engines, under the GPL license. Unfortunately after being acquired by ZeniMax and with Carmack leaving the company, this trend no longer continues. Now, idTech 4 (Doom 3) is the last open source version of idTech available to the public. At this point, idTech is a fairly poor choice to use in your game unless done for learning or nostalgic reasons.
Ogre is technically not an engine, instead, it’s a renderer and scene graph. This means it handles tasks like loading and displaying 3D models, rendering graphics, materials, shaders, particles, and more. You still need to provide other features like input handling, audio, and physics to create a full game engine. Ogre is open source (MIT), available on Windows, Linux, and Mac targets those platforms as well as iOS and Android. There are bindings for several other programming languages, and Ogre3D has been used as the renderer in several shipped commercial games including Rebel Galaxy and the Torchlight games.
Lumberyard started life as an earlier version of CryEngine, that Amazon purchased the rights too. It is completely free to use, including no royalties, as long as you use Amazon web services for your online component, or host your own servers. While it is a C++ game engine, coding is primarily done using Lua or its visual programming interface. Lumberyard is the newest of the AAA game engines, so few games have been shipped using Lumberyard yet, the most famous title being Star Citizen, which started off as a CryEngine title. You can learn more about Lumberyard here.
The Unreal Engine has been used to make several AAA quality games such as Mortal Kombat X, Fortnite, and Gears of War 4, as well as hundreds of smaller and indie games. The primary scripting language is C++, however, they also provide a visual programming language known as Blueprints. One of the major features of UE4 is its support for several different platforms, devices, and VR headsets, coupled with high fidelity rendering. It costs nothing to get started with Unreal Engine, however after you earn $3000 per quarter, you owe a 5% royalty on remaining earnings. The source code for Unreal Engine is available, although it is not released under an open-source license.
C# Game Engines
Unity is the most used game engine in the world, absolutely owning the mobile market while being used to make several popular commercial games including Pillars of Eternity, CupHead, Hearthstone, and Cities: Skylines. Unity is free to use so long as your revenue is $100K or less, otherwise you need to get the pro version for each developer on your team. Unity supports the most platforms of any game engine available and is being developed rapidly, getting new renderers, a new ECS programming model, and more. When it comes to community size, resources available, and asset store scope, Unity is easily the largest game engine available. You can learn more about Unity by watching our 5-minute Unity review video.
Haxe Game Engines
Java Game Engines
Lua Game Engines
Python Game Engines
Ok, technically GDScript is Python-esque, but it is very heavily inspired by Python. You can also program using C# and a custom visual scripting language in this popular open-source 2D/3D game engine. The engine itself is written in C++ and can be extended via modules or using GDNative. If you are interested in learning more, we have a comprehensive Godot tutorial series available.
The following is a collection of videos done previously, breaking down game engines by programming language. The C++ and C# videos are only for 3D game engines, while the remaining videos include both 2D and 3D engines.