When comparing Godot vs O3DE (previously Lumberyard), the Slant community recommends Godot for most people. In the question“What are the best 3D game engines?” Godot is ranked 1st while O3DE (previously Lumberyard) is ranked 14th. The most important reason people chose Godot is:
Godot has a mature 2D engine with many features used by modern 2D games.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Fully dedicated 2D engine, no hacks
Godot has a mature 2D engine with many features used by modern 2D games.
Pro Lightweight
The executable is portable and less than 40 MB in size.
Pro Under constant development
This engine barely released one year ago has more than 1000 forks on github and about 100 developers. Not only that just a bit of browsing trough issues you will quickly find out the dev community loves new esp free technology and does not shy away from completely rewriting parts of the engine. The audio engine is being completely rewritten to use threads and so forth.
Pro User friendly UI for all your team
Non-programmers (musicians, artists, etc) can join the development easily.
Pro Free and open source
Godot is licensed under MIT license. Anyone can grab the source from here, and compile the engine themselves.
Pro Editor and runtime are fully cross-platform
You can run Godot on all 3 major operating systems (Windows/Mac/Linux) and build your game to all available platforms from each without any platform-specific work needed. All platforms including Linux are supported first class.
Pro Drag & drop interface
Many parts of the editor allow you to drag & drop, which makes working with assets and scene trees a joy.
Pro The list of supported languages is growing
Officially, Godot supported languages for now will be GDScript, C#(Mono), VisualScript and C++.
Pro Can be deployed to multiple platforms
Deploy games to desktops (Windows/OS X/Linux), smartphones (iOS/Android/BlackBerry), and the web (HTML5 via Emscripten).
Pro Integrated animation editor
Every property can be animated.
Pro Built-in physics
Add physics to 2D and 3D scenes, through rigid and static bodies, characters, raycasts, vehicles and more.
Pro Unified game editor interface
All the game development work is done inside one program: the engine editor. The scripting is done in the same program. No need for Eclipse or other front-end editors.
Pro Instancing and node concept makes sense
The node and the instancing concept work very well and helps developers to structure content efficiently.
Pro Fun to use
An important aspect that can't be grasped without using the engine for a few days. The Interface is evolving nicely and making games is just fun.
Pro Internationalization of the editor
You can change the language shown in menus. Godot translations can be found here.
Pro Easy to learn scripting language
Godot has their own scripting language called GDScript. The scripting language is easy to learn with Python-like syntax, but it is not Python. It's very powerful, easy to learn, and it's free of unnecessary things because it was custom built for optimized integration with the Godot Engine.
It can be used to add custom behaviors to any object by extending it with scripting, using the built-in editor with syntax highlighting and code completion.
A built-in debugger with breakpoints and stepping can be used and graphs for possible bottlenecks can be checked.
Pro Really good community
The community is great and really cares about the engine. It is easy to get help and to be part of Godot's future.
Pro Creating editor tools is a breeze
Godot Engine is itself a Godot game. By adding the "tool" keyword to the top of a script, you can design extensions for the editor itself INSIDE the editor. Integrating these editor scripts into a bundled plugin for sharing is extremely easy to do.
Pro Friendly towards Version Control Systems
The engine is build not only to support version control but to really use it. Scene files for example which usually get compiled into some sort of unreadable data stay in a text format - that way you can actually see your changes in a version control system like Git.
Pro Doesn't need to be installed into the system
Godot is very portable, you can download the file from a website then put it on a USB and run it on your other computer without any troublesome errors.
Pro Easily expanded scripting system
With 3.0's addition of NativeScript and PluginScript via GDNative, developers can easily define bindings for new scripting languages. In addition to the primarily supported C++, GDScript, VisualScript, and C# languages, the community has contributed D, Nim, and Python as well with more on the way.
Pro Incredible documentation after 3.2.2 beta
The documentation used to be weak, but now we have nathen with his help the documentation is the strongest advantage.
Pro Scene Based editing
Godot gives you the ability to create scenes to make your life easier, with reusable objects and things you want to incorporate in your games. This makes the game making processvery streamlined and organized.
Pro Built-in documentation linked to the internal ScriptEditor
The editor has a fully searchable index of class API documentation for everything the engine offers (NOT just a web interface). You can easily open the documentation for any class by Ctrl-clicking the class's name in the in-engine text editor for scripts.
Pro Simple and readable codebase
The engine's source code is easy to read and understand with a self-documenting approach to code design. You don't have to wait months or years for other people to fix an engine bug that is important to your game. Often times, you can spend an hour or two of your own time to fix whatever problems you encounter yourself.
Pro Easy to get involved
No need to learn anything with node, you can build a game without typing a line of code + has visual scripting.
Pro Engine is yours
There is no royalty and the game you made + engine itself is yours.
Pro Can be installed on Steam
You can easily install Godot via the Steam store.
Pro Comprehensive tooling
In addition to the scene editor and the script editor (with debugger), the engine also provides a tile map editor, an animation editor (not just for rigs), a performance monitor, a network profiler, and an audio bus console.
Pro It has a visual scripting tool (Godot 3)
It has a great visual scripting tool. It's a great choice if you don't like to code. This was however removed in Godot 4, so you will need to use the (still supported) Godot 3 branch for visual scripting.
Pro No royalty charges and completely free
Pro Amazon has announced 3 in house games using it developed from Amazon Game Studios
As a proof of how much Amazon is committed to the project.
Pro Advanced VR support and VR Samples to bootstrap your project
Advenced stereoscopic reprojection to save rendering time.
Pro Landscape editor
Sculpting and painting tools for terrain and instanced details.
Procedural generation of terrain.
Pro Roads and Rivers tool
Built-in support for roads and rivers to ease the design of rich game environments.
Pro Free development license, including source code
Full source code for Engine Editor and every tool.
Pro Easy to create full realistic natural environments
Thanks to built-in terrain, time of day, ocean and volumetric fog systems. There is also a gfx pack with various environmental meshes, cloud, particles, materials and skyboxes.
Pro Very lightweight and scalable entity component system
Multiple entity contexts, reflection, serialization, replication, script binding, event bus (EBus) messaging, fully cascading prefabs (slices).
Every reflected property can be fully exposed in the editor with a customizable gui control and can be animated in the built in animation tools.
Pro Cloud gems
Online oriented plugins composed by both client, server and administration components to easily add various online capabilities without further work (es leaderboards, login, message of the day, downloadable contents).
Since version 1.7 they has been released at a steady rate.
Pro In-editor 3D modeling tool for fast level prototyping
Very advanced 3D prototyping tool with many modeling features and UV mapping support available. If you want you can build any kind of fully textured static mesh without relying on external tools.
Pro Total Illumination v2 Realtime GIobal Illumination
Realistic looking lighting bounces.
It doesn't require long offline precomputation times like other static and dynamic GI solutions based on lightmaps or other similar techniques.
Pro Uses AWS cloud
Other than common aws functionality it supports game specific Game Lift for autoscaling game servers.
Pro Slices a very powerful nested prefab system with hierarchical property inheritance
Modular workflow and flexible cascaded propagation of changes.
Pro Modular system
To easy add and remove modular functionalities to a project and easy share them.
Modules are called Gems and can contain code and/or assets.
Pro Very Flexible Base Shader with many built in techniques
Tessellation and Displacement.
Various Parallax Mapping techniques(POM siluette).
Translucency and Sub surface scattering.
Detail Mapping.
Material Blending.
Emission.
Advanced uv transformation and animation.
Pro Rendering of volumetric fx with full light and shadows support
Global environmental volumetric fog and/or hand placed custom shaped volumes with featuring full lighting and shadows.
Pro High quality free assets packs
Amazon made available a selection of triple A quality scenes filled with high quality assets.
Pro Specular reflection antialiasing
Implements the most recent technique available (published in 2017) from Anton Kaplanyan.
Pro Flexible uber shaders with cache and hot reloading
You can modify shaders while testing the game.
Shader files are modular and annotated to setup the material editing gui and filter out mutually exclusive options. All shader permutation are compiled almost instantly from the asset processor and cached for later use.
Pro Built-in Twitch support even by visual scripting
You can create games that react to keywords entered in a designated Twitch channel and let streamers to invite targeted viewers into their game sessions on demand with ease.
Pro WWise LTX Audio
It is still possible to use the non LTX version with few changes.
Pro Lua scripting with the built-in IDE
Built-in Lua editor with remote debugger to debug Lua scripts running in any device.
Pro Virtual file system with live reload on any device
Optimized versions of assets can be streamed live to any device connected over the network.
This makes possible to implement asset types that hot reloads reducing drastically the time to test new content and little changes on device.
Pro Every aspect of the engine is made with scalability in mind
Multiple grain of control over any kind of engine setting and various kind of Lod systems. Settings can be grouped and applied in batch.
Pro Is the first engine to feature SpeedTree 8
Pro Perforce versioning system pre-integrated with the tools
Perforce also comes with a free version for a limited number of team members.
Pro Cutting edge character shaders
Has skin shaders with subsurface scattering and weighted wrinkle maps, eye shaders with refraction parallax, hair with anysotropic specular reflections, etc.
Pro Order independent transparencies
A must for problematic things like hair , vegetation and scenes with complex solid transparent objects(es glass of water with ice cubes).
Pro Implements the state of the art for Temporal Antialiasing from NVIDIA Research
Special iteration of Temporal AA to battle the ghosting issue omnipresent in engines using other Temporal AA techniques.
Pro New Fbx Importer adds support for every software exporting in fbx
It now works for both static models and animations and support advanced setups(es lods and physics).
Pro Full HDR renderer path with output support for HDR tv standards
Updated renderer pipeline to leverage the full spectrum of precision, luminosity and image processing features of the latest HDR tv.
Pro Cinematic multitrack tool with full featured animation editing
Animation Spline editor supporting huge range of keyframing and tangent editing tools.
Pro Advanced in-game UI with 2D and 3D placing
The UI uses the entity component system so it's fully modular and easily expandable. The UI is easily skinnable and supports border scaling images (scale 9). Powerful layouting system supporting multiple screen resolutions. Being based on the entity system every property can be fully animated.
It is elegantly managed in a separate entity context so it doesn't get messed up with other kind of entities and their components like in other engines, but it's fully decoupled communicating with entities in other context on specific event buses.
Pro Full source code repository with updated development branch now on GitHub
See here.
Cons
Con Primarily supports own language (GD Script)
Although C# is also supported by Godot, it is only supported by a separate version, and Mono must be downloaded separately. While GDScript is very accessible, and if you know Python you'll pick it up fast, having to learn a new language to fully make use of the platform can be a bit discouraging. And for those learning to code as well as learning Godot for the first time, many would rather learn a language they can 'take with them' when they explore other platforms in the future.
Con C++ Engine API not very friendly
The base C++ code from Godot is not documented, it's hard to set it up, to compile and hard to extend, it could use better programming standards.
Con Annoying minor bugs
Minor bugs can go unaddressed for some time, due to it being a free program.
Con GDScript is quite immature language
GDScript is copy of python and the real problem is, it is not python. Which means it cannot have all the power and new features that is available in Python or other programming language.
It does have some good features but it is not good enough for what you need if you want to deep dive into game development. You can just feel that by the godot team is solving that matter by supporting mono version. Because C# is popular in other game engine and it contains all the new features that is available from new programming language.
If i give you very simple example for why GDScript is immature, GDScript does not support asynchronous programming. Which is very efficient for performance of your game.
You may mention about multi-threading because asynchronous programming is one way of multi-threading. However If you try that in Godot, you cannot multi-threading where you want to implement asynchronous system. For example, Autoload (Fake singleton) where you want to manage data in real time. Autoload is not real singleton. It is not a separated thread that manage data. Therefore everything is synchronous in autoload. Even though you create new thread from Autoload script, your game will just stop and wait for your thread to finish its task...
Con Godot 3/4 split
The recent release of Godot 4 brings new features, but isn't yet fully documented, and performance may not be as optimized.
Con No console targets
Given that you can target both desktops and consoles with the same code base in other engines, the lack of support for consoles in Godot is pretty hard to get past if targeting desktops for a game. But asking for an open-source engine to target consoles is probably too much to ask. But it would be interesting to see some legacy consoles targeted even if current ones cannot be.
Con It's hard to learn
Con Difficult to optimize
Godot has an OOP architecture. Everything is an object internally and data is spread among many classes, thus it's difficult to optimize (i.e. not cache friendly, difficuly to vectorize or paralellize, etc).
Read about "Data Oriented Design" for more info about the problems and solutions.
Con Strange terminology at its base
Scenes can be made up of other scenes. That makes some sense. But even the smallest object (or prefab or asset) in a scene -- such as that spoon on the table or the marble on the floor -- is still called a scene... except when it's called a node. This is a bit odd for those coming from other engines. With all the great decisions behind the basic design of this engine, the choice of this term from all the potential other terms out there seems really out of place and only serves as a constant reminder that not everything about Godot is great.
Con No built-in way to import atlases
Godot does not have an easy and automatic way to import atlases created by other tools. However, there are plugins that can be used to import atlases from other engines.
Con 2DPhysics is weak compared to Box2d
Box2d has much more features.
Con NoAdmob or other AdNetwork support
Godot has no native support for implementing advertisements into your game.
Con Many buggy and half-finished features
Con Hard for a Unity user
Coming from a Unity background, Godot engine is hard.
Con Some Legacy systems are still incompatible or not fit well with the new entity component system
At first it is common to try a feature and then understand that it is meant to work with the legacy system and not with the newest one.
Legacy systems get replaced or updated to work well with the new entity component system in every new version, but there is still some work to do.
One example for all Flow Graph visual scripting is meant for the legacy entity and Script Canvas is the visual scripting conterpart for the new entity system, but it is still not available at the moment.
Con No source code repository with updated development branch (requests for Github support currently pending)
You need to wait up to 30 or 60 days for fixes as they are shipped with the next official release.
There is no comfortable way to submit fixes and changes to the engine as the forum is the only tool for sharing code.