I'm seeing Godot mentioned a lot: one major distinction between O3DE and Godot is that O3DE is "ECS-based" while Godot is "OOP-based" [1][2].

This makes little difference for the hobbyist gamedev, but it has ramifications for large projects with many interacting systems. Proper ECS architecture better supports the latter case [3].

[1] - https://docs.o3de.org/docs/welcome-guide/key-concepts/#the-c...

[2] - https://godotengine.org/article/why-isnt-godot-ecs-based-gam...

[3] - https://www.youtube.com/watch?v=W3aieHjyNvw

FWIW there is also a ECS implementation for Godot available: https://github.com/GodotECS/godex