this post was submitted on 17 Aug 2023
75 points (100.0% liked)

Godot

5921 readers
165 users here now

Welcome to the programming.dev Godot community!

This is a place where you can discuss about anything relating to the Godot game engine. Feel free to ask questions, post tutorials, show off your godot game, etc.

Make sure to follow the Godot CoC while chatting

We have a matrix room that can be used for chatting with other members of the community here

Links

Other Communities

Rules

We have a four strike system in this community where you get warned the first time you break a rule, then given a week ban, then given a year ban, then a permanent ban. Certain actions may bypass this and go straight to permanent ban if severe enough and done with malicious intent

Wormhole

[email protected]

Credits

founded 1 year ago
MODERATORS
 

Nice app I saw shared

Source: https://github.com/MakovWait/godots

Download Links (Win, Macos, Linux): https://github.com/MakovWait/godots/releases/tag/v1.0.stable

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 5 points 1 year ago (2 children)

Godot 3.x and 4.x are major release versions that break API compatibility. It is very unlikely that you are developing a game for both versions the same time, so no need for a tool to switch easily between them.

I am not talking about general stability, but API stability. Normally you want a game project to work with any version of the Godot 4.x release cycle.

[–] popcar2 8 points 1 year ago* (last edited 1 year ago) (2 children)

Godot 4.x projects are compatible with each other and are stable but some people don't upgrade right away for stability or plugins specific to that version. You don't see many companies upgrading from Unity 2021 straight into Unity 2022 when it drops, they'd still use Unity 2021 for various reasons. That's why Unity has Unity Hub for managing versions. I think a project like this can be useful.

[–] [email protected] 4 points 1 year ago (1 children)

Those major Unity release versions are more comparable to Godot 3.x and 4.x

My point is that evidently minor releases of Godot are not sufficiently API stable, so that people feel the need to create and use a tool to switch between minor versions to work around compatibility issues. And I have seen some people complain about exactly that with Godot.

[–] [email protected] 2 points 1 year ago

This has been a problem since forever with Godot. They like to backport major new features from the development branch to a new minor version of the previous branch. This means the API in the previous branch (3.x right now) is supposedly stable in that it is only extended and not modified. However there are two problems with this:

  1. If you use the new extended API is makes the project bound to that version and you lost backward compatibility. So it becomes the responsibility of the user to keep track of which feature are available in which versions and be conscious of backwards compatibility, instead of just sticking with a major version like you can with basically every other software in existence.

  2. It's not even true. They modify the existing API and break projects all the time. The movement functions of the kinematic body classes have been changed at least three times during the 3.x cycle.

So you're right, the API is not stable, but you won't get far with criticism from a professional software standpoint in the community (have a look at the demographics listed in the recent community poll for some insight as to why).

Ultimately because of the relative instability of the API, I think this tool will be useful.

[–] [email protected] 1 points 1 year ago

@popcar2 @poVoq there's this guy who's creating something similar: https://eumario.itch.io/godot-manager

[–] [email protected] 1 points 1 year ago

I have a released game in 3.5. It is not realistic for me to update it to 4.0.

I have to keep that code in 3.5, but if I want to start a new project in 4 I need to keep both versions on my pc. This is why the tool would be helpful. So I can easily switch between the 2 versions.