|
I think that the opinions here will probably be split between the people who enjoy the simpler workflows of Godot (as well as its more reasonable distribution size, somewhat more convenient 2D implementation, amongst other things) and those who are used to the benefits of using Unity, especially in 3D. For example: - the ECS and DOTS models in Unity feel way better to work with as a developer, since components can be freely attached to GameObjects to give them behaviours vs the node based structure of Godot, where each object can only have one attached script (though their approach to everything being a scene feels better than prefabs in Unity)
- the support for IDE integrations, such as JetBrains Rider giving code hints about certain API methods being slow, as well as other API things that can sometimes slip by, seems really useful to have in Unity; furthermore the C# API being the primary one feels way more usable and documented than Godot's efforts to add C# support (which, while a great idea, still needs a bit of work to be fully mature)
- Unity also seems way better when it comes to importing assets, such as Blender scenes directly into it, without having to export to Collada, glTF or another format, or having to install a separate exporter for Blender as a plugin which may not be supported in future versions
- on that note, there are also a variety of useful solutions built into the engine, such as light mapping, navigation meshes, pretty optimized occlusion culling, LODs (which i'd say are critical for any larger project, or game genres like RTS) among others, which are either missing from Godot entirely for the time being, or which will need to be installed as separate plugins (like terrain editing functionality, for example)
- the support for a variety of tools and other integrations is pretty great in Unity, thanks to the asset store - for example, if you'd like to automatically generate the aforementioned LODs, then you can just get https://assetstore.unity.com/packages/tools/utilities/poly-few-mesh-simplifier-and-auto-lod-generator-160139
- furthermore, the amount of tutorials and materials for Unity is still probably a bit larger than Unity, as well as its market share will be hard to content with for at least a number of years
That said, Unity also lacks in some other areas, such as there not being a decent networking solution at the time, DOTS not being fully finished, the render pipelines being a bit messy to work with (while there are benefits to using URP and HDRP, it's a bit like the Python 2 vs 3 situation with support varying), as well as Unity just generally trying to implement a whole bunch of functionality that's not exactly production ready. Also, their reliance on Unity Hub doesn't feel like a good sign and it feels like a larger and larger part of their offerings will be cloud based, which is understandable from a business perspective, but also concerning.I do hope that Godot gets support for the things that i've mentioned that are missing and perhaps even gets things like networking right, rather than going the path of Unity and jumping around various solutions. Just my 2 cents on those engines, both seem pretty usable! Also, if anyone wants another C# engine to look at, consider Stride ( https://stride3d.net/ ) or NeoAxis ( https://www.neoaxis.com/ ). Or maybe if you're more into Java, look at jMonkeyEngine ( https://jmonkeyengine.org/ ), which seems underappreciated but nice. Or just look at the "Gamesfromscratch" YouTube channel, which i personally use for keeping up with this stuff: https://www.youtube.com/channel/UCr-5TdGkKszdbboXXsFZJTQ |
Turns out that Godot ended up auto-importing my Blender models with pretty much zero hassles (drop 'em in a project folder, save 'em back out as a Godot scene), and it was a short time after (under an hour, including the time it took to read some docs to familiarize myself with GDScript) I already had mouse/controller clicky code attached to them and a first person camera controller in place. Since then, the more I learn about Godot the more I enjoy workin' with it, pretty much like my experiences with Blender. :)
Of course a large part of my affinity for Godot could be influenced by my love of Python and the similarity of GDScript to Python code.