When to upgrade Godot versions

Godot Version

4.4

Question

I am currently building a game on Godot Version 4.4. Are there unwritten rules of thumb around the best way to keep up-to-date with future Godot Versions. 4.6 is at RC 1 with a release right around the corner.

I started the current codebase on 4.3 and upgraded to 4.4 and it wasn’t painless. I am looking for tips about the project upgrade process. Would it be better to wait for 4.6 and jump straight to it? Should I start upgrading to each version in between if I intend to upgrade at all; 4.4→4.4.1→4.5→4.5.1

I am hoping to hear from people who have actually done the upgrade process.

1 Like

This article sheds some light on that topic. It also lists all the breaking changes each version brings. If you use any of these features in your project, then you might have issues migrating. If not, it’ll probably be smoother or even completely painless.

It doesn’t cover the 4.6 yet unfortunately, we’ll have to wait for this to be added.

I dont think going through all versions makes sense, I’d jump straight to 4.6. If you go through all versions, you’d need to fix and correct some issues that might already be resolved in a later version.

Hope I don’t need to tell you that, but make sure to properly backup your project before doing that.
If you have a backup already - just try upgrading the project and see what happens and how much stuff is broken.

4 Likes

First off, the jump from 4.3 to 4.4 was unusually painful. I remember it.

Second, 4.4 - 4.4.1 is just bug fixes. It isn’t going to cause you any problems and might fix some.

If you wanted to incremental upgrades it would be 4.4 → 4.5.1 → 4.6. There’s no point in doing the 4.4.1 bug fixes if you’re moving to a later version. Likewise, there’s no reason to move to 4.5 which has bugs that were fixed in 4.5.1.

As for upgrading, as a general philosophy there are two. The first is never upgrade a production product unless you need a new feature. The second is to always keep up with upgrades so that you don’t get bitten by upgrade woes when you desperately need a feature in a new version.

Personally, I always upgrade when a new version comes out. I start by by migrating all my plugins (I have a lot) when the first release candidate comes out. That way I’m ready when the new version comes out. It also gives me time to get used to Godot engine changes in smaller projects.

The reasons for this are myriad, but the most important is that every version brings significant quality of life improvements for users. For example, you are missing out on being able to hover over any object in the editor and being able to get a popup with documentation without having to click to get the documentation. That alone is worth an upgrade IMO.

Having said all that, I’d recommend you upgrade to 4.5.1 now. Then wait for 4.6.1 to come out to upgrade (which will likely be in a month or so). Unless, you are looking to use a 4.6 feature today.

It will give you a chance to get used to 4.5.1, and it will lower your frustration threshold because you won’t have to deal with 4.6.stable bugs that are fixed in 4.6.1.

5 Likes

For me, upgrading has been painless, but that’s only for my project specifically.

As I’m still working on the prototype, I can upgrade ASAP. However, when I get deeper with my own set architecture, I’d imagine upgrading versions will becomes less and less worth the hassle over time.

I think the main question to ask is: “Will the upgrade resolve or add on technical debt?”.

If it resolves it, upgrade. If it does nothing, your free to choose. But if it adds on more technical debt, don’t bother, because your game already works (probably) and if it ain’t broke, don’t fix it.

1 Like

It’s good to look at the change log because if something seems like it could be useful then go ahead and update. I’d recommend setting up version control because, among other things, if it doesn’t work to update you can revert to before you updated to the next version.

1 Like

I figure that once I reach a certain level of stability with my game I will stop considering updating. For where my game is now, I will want to keep up with the major 4.x development cycle. My current process is to run smallish sprints and do limited play testing/bug fixing. At the start of each of those sprints is when the question comes up, should I upgrade Godot. It didn’t make sense to me to go from 4.4 to 4.4.1 when I wasn’t having an issue with 4.4. With that said, my last sprint took longer than I would have liked and it seems I missed the 4.5 line entirely. I have not gone through all the changelogs, though I have kept an eye on development, so I don’t know of any 4.5 features that I couldn’t live without. I wanted to upgrade to 4.6 so that I didn’t fall too far behind.

I should have mentioned, everything is in version control and I don’t do trunk development so even with development moving forward on my game, rolling back is trivial.

2 Likes