Godot 4.x compatilbility concerns

:information_source: Attention Topic was automatically imported from the old Question2Answer platform.
:bust_in_silhouette: Asked By Joe0239

I know that Godot 4.x is bringing vulkin support and will be using PhysX instead of the bullet physics engine.

My concern is that if I am developing a game in Godot 3.x and when Godot 4.x comes out with these new features, am I able to port my current game over to Godot 4.x and port it over and have vulkin support and use the new PhysX physics engine without getting errors or me having to do anything?

You can’t do much about it now. You want to release your game at a certain time. You should use a godot version will be stable at that time and well before (for testing).

I am still in the progress of porting a bigger 3D project from 2.x to 3.1(beta) and it IS a lot of work:

  • sound engine changed completely
  • particles changed completely
  • materials changed quite a bit
  • physics engine changed and my simulation game still behaves odd which will have to be thoroughly tuned & tested
  • performance of GLES 3 is much lower on older devices/cards (compared on godot 2.x GLES2 on same devices)
  • even the performance of GLES2 (3.1 beta) is much lower compared to godot 2.x but still hoping for improvements…
  • some scenes just fail on load and I have to dismantle them bit by bit to get an idea why
  • LOD has gone missing (meshinstance lod parameters trick you that it’d be there) and probably won’t return until 3.2
  • expecting more trouble to come… :wink:

So you see that it can be troublesome to move over. I suppose that you select your version depending on your schedule and stay with it as long as possible.

I decided to move over because of issues in godot 2.x which made the development of bigger levels really difficult requiring workarounds (i.e.: 2-byte floating points for mesh coords, low precision for shaders on some mobile platforms). And I am hoping to use new features concerning VR or network gaming/multiplayer some time in the future.

wombatstampede | 2019-01-18 09:21

Sorry to hear that the porting over process went terrible and you are forced to stick with Godot 2.x. Godot should provide tools to enable backwards compatibility. Its kinda stupid not to have it in the first place.

Joe0239 | 2019-01-18 09:23

Hi Joe0239,
i am not planning to stick with Godot 2.x but I could as Godot 2.x ist still maintained.
I will continue working on the Godot 3.x migration even if it is a PITA (not meaning the bread).

I am not blaming the programmers and contributors of Godot 3.x for my migration problems. They are doing the best that they can and most (or all) of them are not even paid for that. Also there are reasons why they did 3.x this way.

wombatstampede | 2019-01-18 10:17

:bust_in_silhouette: Reply From: Xrayez

The physics engine won’t likely to change any time soon: How does PhysX becoming open source affect Godot? · Issue #24175 · godotengine/godot · GitHub

If you’re developing for platforms that don’t have support for Vulkan then you should probably stay on 3.x for the time being, but likely 4.x might be backward-compatible with OpenGL ES 3.0 as it is now with ES 2.0 in Godot 3.1.

Project-wise you should be fine as long as you actively maintain it. It took me around two days to migrate my 2.1 project to 3.0 a year ago, but it was relatively small at the time.