LV
4
i was doing godot project few months ago before i migrate to cmake builds, and bgfx/rmlui which gave me more powerful solution for cross platformsRecently, I've been feeling like I'm fighting the Unity engine too much. The project doesn't use most of the Unity Editor features, such as prefabs, scenes, ScriptableObjects, etc., that are usually used to compose the game and inject dependencies. Looking for solutions that don't feel awkward, actually work, and scale well takes time, and I felt like I'd been running in circles for the last few weeks rather than making progress.
So I reached out to Godot to experiment with it, and the results were really surprising.
Firstly, I was able to completely migrate the project from Unity in just a couple of hours. ~80% of the code hasn't changed at all and was reused as-is. ~10-15% required mechanical rewrites, mostly replacing Unity types with their Godot equivalents (MonoBehaviour -> Node, Update() -> _Process(), Vector2Int -> Vector2I etc.). The remaining 5-10% was new Godot-specific code, mostly around startup and shaders.
Secondly, the graphics quality is at the same level. I achieved almost full visual parity with Unity without significant effort. Unity still offers better 3D support and more features, but most of them are excessive for this kind of game and won't be needed. The biggest difference right now is how shadows are rendered, but they can be tweaked to match Unity almost identically. I just haven't spent much time configuring them yet.
Here are side-by-side comparison screenshots, with Unity on the left and Godot on the right:
Thirdly, Godot surprisingly seems to fit the project's goals and vision better than Unity. I made this pros and cons list to give you a better idea of which Godot features benefit the project.
Pros:
- Shaders can be built at runtime, which gives mods the ability to completely overhaul rendering.
- Has sandboxing solutions for both GDScript (godot-sandbox) and Lua (luau-gdextension) that could enable safe client-side mod execution. This is probably the biggest win for client-side mods, as it gives mod authors more capabilities out of the box.
- Editor-imported assets are treated the same way as assets loaded at runtime. Runtime asset loading feels better in general.
- glTF is natively supported.
- Making and theming UI is super easy.
- It's significantly easier to build server-driven UI for future server mods because UI can be easily and cleanly constructed in code.
- The editor starts and works faster.
- It's a regular .NET SDK: it can be added to any .NET solution, other .NET projects can be referenced freely, NuGet is supported, and the latest .NET and C# versions are supported.
- Out-of-the box localization solution.
- Autoloads and shader globals are nice coding QoL features.
- Git works better with Godot.
- Open source and completely free.
Cons:
- Less capable in 3D.
- Smaller community and fewer third-party solutions.
- Unity is more mature.
- No real alternative to Unity's Editor Scene view. Right now, Godot only offers you a way to view and modify the running game's scene tree, with the ability to override/take control of the camera inside the game.
- Despite Unity's Editor being slower, it feels more polished overall.
Things I haven't researched and tried yet are animations, rigging and effects.
I'll publish Godot prototype branch shortly.
And I'd really like to hear your guys' opinions. Would you still be interested if the project were running on Godot instead of Unity?
i faced few issues with godot of fps drops while walking , i used to load client stuff as it , just tables been converted to json data
setup ui was super fast to match my default game and gave me better feature on some forms like exchanger etc
i left proejct for now but i plan to go back for it later
