Godot engine effective to use?

I started using Godot for the past 2 months now creating a mini-game on it, and despite being a complete noob to it, I noticed that Godot seems to make maybe things harder than other engines. I’m a Unity developer with over a year of experience. I created small projects and released one game on Unity. here’s the thing, when I started Godot I expected to see things similar to unity, which some things are, mostly in programming logic. in unity when creating an object adding a rigid body and checking the gravity checkbox I created a physics object in a few seconds. Godot takes it a bit differently and is quite confusing, you create a node, add a child rigid-body to it, and you also need collision so you add collision shape to it, and all of it is in the hierarchy. gravity checkbox also does not exist in the engine, you control it by code only or other ways I guess through project settings or something. from my experience so far with Godot, it feels like I’m learning a much more difficult engine than Unity, forget the part that I’m still new to it, most engines always have some similar features to them that won’t get changed ever, like transform, rotation, scale for example. Godot I understand it’s open source and still growing. I feel I do more code than I did in Unity on my first game, almost all my mini game rely on code. Godot also faces an issue of code changes. so if you use move_and_slide in Godot v.3 you add a parameter to it, in Godot v4.3 it no longer accepts parameters. I have doubts if I should continue on this engine or wait for it to have a stable LTS version. I got interested in it after seeing Bracky new video in Godot and saw how simple it is in his video to create a game, but I guess nothing matches reality or your own type of game. what does Godot do differently than other engines? I heard a lot of praise from some devs in groups I’m in. When I spoke with ChatGPT about the absence of the gravity checkbox it said it’s a design choice and to give the developer more flexibility to create their own rules and such, but seems more work for the developer to do that ain’t it?

In the “Gravity Checkbox” situation I’d argue it’s rather similar, and most physics is going to have the same features between engines as physics simulations are about solving a particular set of problems, so a particular set of tools is developed in the same way.

In Unity you must add a Rigid Body component and a Collision box/capsule (shape) component. Gravity is a check box.

In Godot you must add a RigidBody node and a child CollisionShape node. Gravity is a slider 0 off, 1 on, with many options between and beyond.


You are going to have to learn the differences between engines, you are correct that programming will be similar, it’s a fundamental skill, but each component will behave slightly differently. You will be fighting against the grain if every difference from Unity slows you down, gotta go the Godot way.

Unity is known for re-implementing new systems instead of fixing old ones, the quirks you know from Unity do not transfer to Godot. Similar to Unity you can pick a version and stick with it; 3.x is considered LTS, big features won’t be added or removed, while still recieving performance and bug fixes. Most Unity and Unreal games never change versions, it’s not often worth the trouble, but many Godot games find it just works and the same code carries over or is automatically converted.

I would highly recommend against ChatGPT (and video tutorials to a lesser degree), stick with official documentation, Godot really shines here.

4 Likes

Every piece of software, in major branch releases, risks some backward compatibility breaking issues. Godot 4.x will not from one x to another. Godot 5, maybe, who knows. But it will also come with tons of new stuff.

This is a relatively minor nuisance and if you have a game in 4.x and 5.x breaks something fundamental to your game, that would in rare cases be too much to re-write at a late development stage, you would just stay with the 4.x version.

This IS just software and coding. Nothing stands still. Everything is in a state of flux.

3 Likes

I moved from 3 to 4 and abandoned rpc code for spawners and syncers, and I enjoyed the change.

It also broke some shaders and they haven’t come back. But not for difficulty to fix them but more of laziness.

It’s always going to be a judgement call to upgrade, and if the devs can make braking changes easy to resolve, like preserving existing functionality in a deprecated step or auto conversion, all the better. Even in my profession career upgrading tools and libraries was a common task. You may be forced to resolve a bug, and it will teach you a thing or two about the systems your are interacting with.

2 Likes