Skip to content

Docs

GodotSteam 4.16 Is Finally Here

If you're reading this, back-up all your projects right now. What a few months this has been; various things have gone awry like a massive data loss which nuked all my patches in one go except the 4.16 version of Godot 4. I have also been deep in the middle of a migration to Codeberg.org from Github due to Microsoft's latest round of shenanigans with the platform; though I had started this back in, I think, February and should have completed it sooner. More on that in a bit.

Nonetheless, the day has come and GodotSteam 4.16 is now live for Godot 4.x with versions for both 4.4.1 and 4.5 and well as new MultiplayerPeer variants and GDExtension! The changelog is quite sizeable as I finally tweaked a lot of stuff that needed tweaking which may break some people's projects a bit. But it is also packed with various QoL updates and some minor things to make maintenance easier for me. There will be another large patch for 4.17 coming after I get both the Godot 3 branch updated and both of the GodotSteam Server versions updated. So expect a lot more updates in the coming weeks... followed by even more updates after that.

This update also brings us compatibility with MinGW finally thanks to a patch by DanielSnd which now lives in the extras/ folder in the main Godot 4 branch. You will want to run this patch on the Steamworks SDK before compiling with MinGW; if you are a compiler.

The new MultiplayerPeer version authored by Chris Ridenour aka FriarTruck, sponsored by the awesome folks at BippinBits, is now fully live and availabe in Godot 4.4.1 and 4.5 glory with the new GodotSteam 4.16 patch included. This also drags him in as a maintainer too; sorry, Chris!

Back to the migration points; due to Codeberg's minor limitation on file sizes, we will still be hosting a few things over on Github and keeping the Discussions section intact. However, all of the actual code and the bulk of the releases have been nuked from space. While not all of them have been fully migrated due to error on my part, I can recreate older versions upon request if someone needs them. Just holler at requests@godotsteam.com if so.

Lastly, I finally added LiberaPay as an option for sponsoring the project to start migrating away from Github Sponsors where possible. Either is fine, whatever works for those of you who choose to chip in.

OK, back to the coding pits with me; still so much more to do. See you all again for the next round of updates!

❤ Gramps

GodotSteam Big Docs Update

Ayyyyy! The Big Docs update is finally here. It seemed like it took a million years but finished combing through all the SDK files, Valve's docs, and GodotSteam header files to get everything synced and up-to-date. As mentioned previously, it was also a good way to create a new patch as I found a few missing functions, callbacks, enums, constants, etc. The docs were also out of sync with GodotSteam itself which leads to confusion.

Almost all the notes got beefed up as I pulled the information from the online docs and merged in the SDK notes, as well as the GodotSteam-specific information. All the functions' parameters and returned values are better explains, I think.

There were also some tutorial updates in there too.

I'm sure there are a few mistakes here and there but those will get ironed out over time. Hopefully we can keep it from getting too far out of sync in the future!

Onware to patches and more.

❤ Gramps

GodotSteam Road-Map

Seems like I have been working on this forever and it has been a bit quiet lately so here's a little update and roadmap of what is going on with GodotSteam! There are no specified timelines on all of this but it is the general order of how things are being worked on and will be released.


GodotSteam 3.30 / 4.16 & Big Docs Update

A big patch for both Godot 3.x and Godot 4.x that fixes a variety of functions and callbacks as well as adds in some missing things from the SDK. Why is this taking so long? I am combing through the entirety of the SDK to check for inconsistencies and missing things.

Simultaneously I am updating the docs which are also missing some information from a few patches already and also missing stuff found in this SDK check. The docs post-update will have better explanations of the function arguments, what versions of GodotSteam things are added or removed, expanded explanations of the enums per class, and finally a list of constants with explanations. This will transform the docs into a hybrid of the SDK's information, Valve's docs (which are somewhat outdated), and the existing GodotSteam notes. My attempt to finally blend these together to be as useful as possible to you all.

GodotSteam 3.31 / 4.17

Finally completing the push to the Flat API system which was started a few versions ago. Regrettably, I totally spaced that all of the calls needed changed out and that was a lot of work. These changes are being backported from the GodotSteamKit version but will take some time. Functionally there will be no differences you'll notice but since it require every single function to be changed, it is coming as a separate update. Plus whatever weird quirks and fixes that are found during yet another full-code deep-dive.

Tutorials

A bunch of tutorials based on Skillet's development are next in line, including their video versions for MakerTube. I missed a few video tutorial targets I had due to moving and personal stuff but there will be a 1-to-1 tutorial release during this period.

Skillet Release

Yes, the open-source, massive example project game that has a very barebones repo will finally be released! Progress is coming along and after these two big updates, I will start sharing more files, images, and such. I'll need folks to help test out mulitplayer but we can get into that when the time comes; however, this will probably be done using Steam playtest features so I can also write up some tutorial information on how that works.

GodotSteam 5?! & Starter Kits

I am abandoning my plans for the GodotSteamKit release to limit the already cumbersome list of repos and projects to manage. Instead I will be releasing that version as our GodotSteam 5 variant which will get be available to all sponsors initially. When Godot 5.x finally drops at some point, that will be rolled out as the standard version. Why, you may ask? Because it finally breaks apart GodotSteam into separate classes to match the SDK and would basically break everyone's projects. So to limit confusion, it will wait for a major Godot version when we'll have to migrate to something different anyway.

That being said, people who have access to it can use it for projects but I'd only really start fresh projects unless you want to rename a bunch of calls.

Another thing that was planned were GodotSteam Starter Kits that are based off Skillet's code and will let people skip putting together some of the more cumbersome or repetitive parts of Steamworks like lobbies, networking, Inventory, Workshop, etc. There will be a new repo for those too.


Well, back to the documentation pit with me! Excited to finally roll all this stuff out soon. If you have been enjoying the project and want to help with development, feel free to sponsor the project too!

❤ Gramps