My recent 3D experience in Godot 3.x
The Godot Engine is a open source, MIT licenced game engine. It's strong point is said to be 2D, which to be fair, compared to something like Unity, it is. The 3D side is not as good at the moment, but I found it very workable, even if it had some flaws too.
While they are expecting to release version 4.0 probably this year, with many new improvements, even in it's current state the engine is very good, but in 3D I found some annoying things too in it's current state.
Basically the engine functions fine from a development standpoint. Node system is in my opinion better than Unitys component based system, everything is a child of something else, anything can be instanced easily. Using the default gdscript language for scripts is fine, properties etc. are straightforward to create. However when working on my 3D test project, I found some annoyances, some major some minor, some fixed in upcoming 4.0, some still unresolved.
One of the most important things for 3D is how easy it is to import 3D models. I found that in 3.X the import process is not very good. For example collision meshes need to be name with suffix -col
in blender, and even then you cannot just import the collision mesh as a standalone file easily, but need to extract it from the import scene. That makes it annoying to reuse the same mesh/collision mesh in multiple types of 3D objects (for example static/physic prop).
The new 3D asset importer has been merged, and should improve this majorly, but that is coming only in the future.
But the one major showstopper for me was an very annoying physics bug, which happens when a kinematic body collides with multiple collision shapes at once (or very close in time). The kinematicbody would jitter or push back repeatedly:
Thankfull there seems to be a fix in the works: https://github.com/godotengine/godot/pull/56801, hopefully selected for 3.X release, as Godot 4.0 is still ways off.