Thrive now uses Godot 4

It is finally here, Thrive now uses Godot 4.

I’ve just merged the code to master branch switching the Godot version. However as this is a huge change, I could not make it all at once. So while Thrive now basically works, there’s still a lot of issues and warnings from Godot to solve.

This means that anyone working on Thrive locally should now go and download Godot 4.2 (it seems that maybe 4.2.2 RC1 is required to successfully import Thrive). Also if you have opened Thrive in Godot 3, you need to delete the existing .import folder as it seems like that prevents Godot 4 from doing the asset import process properly.

Any experiences on what it takes to get the import to work on Windows would be excellent. So far only one other person besides me has tried to open this new Thrive version in Godot 4.

Edit: also a note to any programmers working on Thrive, each time you recompile the C# code you must close Godot first, then compile and re-open. Otherwise the hot reload will fail and all C# related properties are lost on save.


As there’s a bunch of things still to do, I’ve created a new project board for Godot 4 specific issues or new things that can be now done better in Thrive:

It is a bit barren at the moment but I’ll upload my notes there soon about everything I’ve noticed so far but haven’t had the time to work on.

Please feel free to add your own findings there (please first check that something is not already on the board).


I’m hoping that there’ll be at least a few people helping out with getting Thrive to work nicely in Godot 4.

At this moment I’d estimate about a month until basically everything important is taken care of and we can release Thrive 0.6.6. A public test build might be doable in 1-2 weeks (I plan on making a very early build this week for patrons and Thrive devs).

4 Likes

I gave a quick try with Windows, and with 4.2.2 RC 1 (as well as the latest stable release) I got a crash at 0% of importing assets. I might have missed something, but I didn’t see any additional setup instructions…

2 Likes

Thanks for trying it out. How to get the game imported is in pretty rough shape currently on Windows…

Did you try multiple times? I had issues at one point with Godot crashing before importing everything, but it eventually worked, though that might be a Linux only thing. Could you try compiling the Thrive source code first with dotnet build to see if that makes the import process work?

just trying it a few times in Godot didn’t help. I tried to just compile in Visual studio, and it looks like I’m missing a bunch of dependent projects (ScriptsBase, DevCenterCommunication, etc) so I’m guessing I’ve failed to keep up with some new development setup step as Thrive has gotten more complex. It might be worth taking this to discord since this problem might be unique to me…

Git submodules (git submodule update --init)? This gets regularly asked on discord, but not on the forums anywhere so I just keep updating the setup instructions to word the warnings and problems about git submodules more and more verbose. It’d be good to finally have some searchable place where the submodules are discussed and someone might find the solution by Googling the error message.

the good news is that you were right about the submodules and now I can build. The bad news is that that still didn’t fix Godot crashing.

1 Like

Finally testing myself on Windows it all just seems to work:

  • I downloaded the 4.2.2 RC2 (as the earlier versions seem like they may have an importing crash bug)
  • Updated Thrive to latest commit
  • Deleted .mono and .import
  • Opened Thrive in Godot 4 expecting it to crash, but it didn’t
  • I did forget one step so I had to run git submodule update before I was able to compile Thrive.

But I didn’t see any problems and the game ran fine after I ran the native library download script.

1 Like