Skip to content

GodotSteamKit

Updates, Updates, Updates

Hey gang! Well, Valve dropped Steamworks SDK 1.64 about two weeks ago and I've been building a series of updates for it. Then Godot dropped 4.5.2 and that added a little extra time. Then I decided to get the GDExtension updater patch finished and, well, here we are. Time for some updates.

Steamworks SDK 1.64

Not a massive SDK update but it did a few new functions which have now been integrated into GodotSteam. Today I'm rolling out updates for the new Godot 4.5.2 and 4.6.1. Seems 4.6.2 is on the horizon so expect updates for that when it pops. These updates have also been applied to our Server branches as well.

The GDExtension versions for GodotSteam and the Server branch have also received an updater update. When enabled in the Project Settings, GodotSteam will now check if there is a new version then prompt you to update it. Just click the button in the new little Steamworks panel and it will begin the process. I tested this by fiddling with the version numbers and it seems to work fine but we will really find out when the next GodotSteam version drops.

This dock will also have things add to it later on, including the GodotSteamKit stuff which is rolling out next week. Speaking of...

GodotSteamKit Drops Next Week

The first iteration of GodotSteamKit will be out next week. Thanks to those who gave it a little testing and feedback. I will be releasing the starter kits and custom nodes as the free version for all the friends as well as the paid bundled kit to help support work on future planned updates.

The bundled kit, much like the new GDExtension update, will have an updater feature and Steamworks dock. If you are using the GDExtension version of GodotSteam, these two will merge into one to prevent dock bloat. There are plans for more components and features in that dock as we get into more beefy addons.

In the meantime, I need to draw up some images for the Itch.io pages and website updates for all that.

See you soon!

❤ Gramps

GodotSteamKit Incoming

Hey gang! So I have been talking about it on and off for a while and now I'm starting to actually roll things out... kinda. Everyone who is a sponsor of the project now has access to the first version of GodotSteamKit. What's in there so far? Let's see...

Starter Kits

Both have been tested and a generic GodotSteam theme applied to them. They can be easily modified to fit whatever project you are working on and hopefully save you time from implementing all the working guts. Both still need their internal documentation finished though.

Lobbies - Optional manager scene - Hosting and joining / lobby list scenes - Lobby scene with chat - Support scene like lobby player

It also uses invites through the Steam overlay and has a catch for parsing invite connection strings. The lobby chat is also a separate scene that can be used somewhat independently though does require an active lobby to function.

Leaderboards - Options-based menu for filtering - Toggles for downloading leaderboards automatically or on-demand by user - Has support for leaderboard UGC as images but can be easily modified - Support scene for leaderboard entry - Has starter script for uploading new scores

Custom Nodes

Two types of custom nodes: Avatar and Steam Usernames in a few different styles. These are things I have wanted to put together for a bit and make accessible.

Avatars - Has Sprite2D, Sprite3D, and TextureRect variants - Give it a Steam ID to track and it will automatically fetch and update the user's avatar

Usernames - Has Label and Label3D variants - Give it a Steam ID to track and it will automatically fetch and update the user's username

Get It

Currently this first version is available on the sponsor's repo in Codeberg. There will also be an Itch.io page soon where it can be obtained. This version's functionality will eventually be part of the public version everyone gets once I finish up docs, more testing, and a feedback phase.

For non-sponsors, you can keep an eye on announcements in all the usual places as well as the new GodotSteamKit repo on Codeberg.

Next Up

The next version will have the updated GodotSteam which is almost completed. This new version has a lot of breaking changes from the current version of GodotSteam that is publicly available including things like custom classes instead of dictionaries for various functions and an overhauled code-base. More on that when it is ready. Hopefully I will also have a conversion script if you wish to upgrade any projects; though I'd probably just use it on new projects.

There is also a list of more starter kits, custom nodes, and tools that will be in future version; these are listed on both the sponsor repo and new GodotSteamKit repo on Codeberg.

Availability

As mentioned earlier and on all the new pages about GodotSteamKit it will be in two flavors: a free version for the public and a paid version which is also available to all sponsors. Modeled somewhat off Kenney's all-in-one package, I am hoping it will help boost support for the overall project and creation of more stuff. The paid / sponsors version will have things that eventually trickle into the free version; also somewhat similar to Material for MKDocs model.

That's it for now!

❤ Gramps

GodotSteam Beginning-of-year Updates

Hey gang! Starting off the year with a fresh update with the all-new Godot 4.6 and a bit for Valve's upcoming Steam Frame. Not too long ago, Valve updated their docs for the Steam Frame which lists Godot as one of three engines for OpenXR support and briefly mentions GodotSteam as supporting Android and Linux ARM64, which it did not... until now.

To actually make this true, we are rolling out GodotSteam 4.17.1 in both the usual precompiled bundle and GDExtension fashion. This includes said Android and Linux ARM64 variants with matching precompiled editors too. The actual patch itself is relatively small though. The Server version has also received a quite small bump too for these new Godot 4.x versions.

Goodnight, Discord!

Last year there were a few mentions that if/when Discord decided to IPO, the community would get moved off their servers. Well, that time has finally come as Discord allegely plans to do so in early March. In preparation, I've started up a new Stoat community and IRC channel for GodotSteam with plans to shutter our Discord presence. Going to aim for mid-March at this point. Hope to see you in better places!

I had previously posted about using Matrix but mostly due to user error (clearly me), I have abandoned this plan. Taking down the now pretty broken Matrix server is rather difficult due to how Matrix works so you may want to avoid any links that take you there as it will be removed as soon as possible.

GodotSteamKit Round... Something

So I've talked off and on again about GodotSteamKit; working on it then deciding to shelve it. However, funding open-source projects is really hard to do. People love using it but few actually support it. So time to dust off the GodotSteamKit plan again to see if it is possible to raise more funds for the general GodotSteam work!

What was GodotSteamKit again, you ask? An upgraded version of GodotSteam that includes:

  • Overhauled the standard codebase
  • Converter for updating any GDScripts from normal GodotSteam code
  • Remove some dictionaries in favor of specialty nodes and objects
  • Starter-kit-esque scenes
  • Additional tools like Steam uploader, VDF editors, etc.

The plan is to roll our the first two at some point soon-ish to our current sponsors and get some feedback about how it is all working. Then probably launch it on Itch.io since I can't quite think of another good place to put it.

Over time, different parts will be released to the wider public as free updates to the main GodotSteam project; similar to how some other open-source projects I've seen.

The plan to keep the whole thing closed-source is still in action though.

More on all that in February!

Tutorials And More

Last but not least, there are two updates to our tutorial section: Rich Presence and Workshop/UGC. The Rich Presence one is nothing majorly new, just a little housekeeping to bring it up to speed with the others. However, the Workshop/UGC one actually has a lot of new information which was pulled from the now-public Skillet UGC Editor. This covers creating, editing, and viewing items but not using them just yet as we haven't gotten to that part in Skillet's slow development. But expect an update soon!

As mentioned in a previous post, I'm going to spend most of the time now working on GodotSteamKit and more resources.

Until then!

❤ 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

2024 Round-Up And 2025 Roadmap

After a rather quiet October and November, it is time to wrap-up the rest of 2024 and mention the plans for GodotSteam in 2025! Before the year is out, we'll finally get updates to every single branch and the server repo. These updates include Steamworks SDK 1.61, additions for Angle and DirectX 12 (?), and a little prep for Godot 4.4. Even a quick patch for Linux GDNative to fix a random achievement bug.

Fun and Funding

Funding open-source is hard, if not impossible sometimes. My personal situation changed and I can no longer self-fund GodotSteam's development. Until I find a new job, things will be a bit slower than normal. That being said, I will have to spread out what I can work on. The studio that was our largest funding source also had situation changes, so we will lose the vast bulk of funding by the end of the year. Much love to the rest of our sponsors who will keep the project moving along; every bit helps immensely! I will try to figure out some more perks for you folks.

That being said, if you the community want the project to continue on at a better clip, please consider donating on Github Sponsors! I know that is a big ask these days. Those of you with skills are also encouraged to help with pull-requests. You can find some to-do lists here.

1-on-1 Support

Earlier I had to cut out direct support to focus on building more resources out but the community is far larger and faster than I am with this. Tons of smart and active folks lending a hand to answer questions.

I quietly rolled out some 1-on-1, pair-programming support for more advanced issues on Github Sponsors and am now officially announcing it to help fund the main project. To set up a session, please contact me at sessions@godotsteam.com with what you need help with; we will set up a time / schedule and you can pay it through Github Sponsors. I ask you do not use this for very basic things that you can find in our tutorials as it is just a waste of your hard-earned money!

GodotSteamKit

Our sponsors were informed about this already, but now is a good time to mention GodotSteamKit officially. You may have heard me talk about this somewhere and previously it had been called GodotSteam Components. I am releasing this in 2025 in hopes of bolstering funds for the main project.

You can consider it something akin to GodotSteam 2.0; the editor code has been completely re-written to fix some issues with GodotSteam that I couldn't fix without majorly breaking things for everyone. Some of these changes will possibly become public once Godot 5 comes out and breaking changes are less problematic.

GodotSteamKit also has a host of built-in editor tools for things like Inventory, UGC / Workshop, uploading to Steam, VDF creation. This also includes a bunch of custom nodes I have been tinkering with to ease the use of some Steamworks classes: avatars, chat, etc. It will also be bundled with a bunch of "starter kit" scenes for things like Lobbies and Networking. These can be modified to suit your needs but will speed up implementing things. Some of these may later be released publicly.

This suite is aimed at more professional or serious developers and will be free to all sponsors over a set value of donations. Non-sponsors can purchase it for a one-time fee; the amount of which is still being considered.

GodotSteamKit will not be open-source like GodotSteam was. It will be a closed-source editor built off Godot Engine and will not feature a GDExtension at first but that will come shortly after a stable release is created. Obviously, the licensing will not be MIT but I'm not entirely sure what license will be used.

Skillet

To reduce the workload of the overall project, Skillet's release has been bumped back sometime into 2025. I have no idea when as it is the second lowest priority currently. Sometime in early 2025, I will open the game up to some contributors to help speed that along so we can get it out in a slightly reduced state where features can be added at a later time.

All that being said, Skillet's Steam store page will go live next week so we can start posting things there for you all to follow.

Learning Resources

The website update is still coming, albeit slowly. I really want to push it more as a learning resource so means more tutorials! Last month I rolled out the first video tutorial on MakerTube and plan to release a new one each month covering everything as in-depth as possible. Stats and Achievements are up next! That should be out a bit before the holidays.

Onward!

Let's recap with a (hopeful) roadmap:

2024

  • Patches for SDK 1.61, Angle, DirectX
  • Stats and Achievements video tutorials
  • Premium support offering
  • Skillet Steam store page launch

2025

  • New website updates
  • GodotSteamKit
  • Skillet
  • Monthly video tutorials
  • New text tutorials

Keep making those cool games!

❤ Love, Gramps