Skip to content

SDK

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

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 Updates For All Branches

Finally got all the updates for Godot 4.4.1 and Steamworks SDK 1.62 finished and rolled out some hefty changes for all the GodotSteam branches: godot4, godot3, gdextension, server4, server3, and server gdextension! Steamworks SDK 1.62 brought a bunch of new Remote Play features and some minor changes to a few other classes; the docs still need updated for these changes and that will be coming this week. The current in-editor docs should reflect these updates though; with the exception of the GDExtension ones. For whatever reason, they are failing to display correctly again and that is another problem for another time.

One massive change is the ability to auto-initialize Steam before the game starts; thanks to TriMay. This should fix the overlay issues with Forward+ that people have had. While this does not fix overlay when running from editor, it should fix it if you were not able to get overlay running from the Steam client. If you need this, you can enable it from a brand-new project settings: Steam > Initialization:

Project Settings

Wait, instead of calling steamInit or steamInitEx, now what? You can just easily replace either call in your code with get_steam_init_result and this will pass back the expected dictionary of values so very little has to change in your code if you use this initialization process.

In these new project settings, you can also set both your app ID and whether you want callbacks embedded here. Setting them here means you do not have to set them if you call either steamInit or steamInitEx. However, you will want to set app ID here if you are using auto-initialization.

Also, the initialization functions themselves have changed. steamInit now returns a bool, as Valve intended. Both it and steamInitEx now only take two arguments: app ID and embed callbacks. Originally, the first argument was a bool for pulling statistics or achievements at boot but that was removed in SDK 1.61 and we kept it to prevent breakage in projects. However, it has now been removed which bumps up app ID and callback embedding. Used to be Steam.steamInitEx(true, 480, true) but now is Steam.steamInitEx(480, true).

Expect an initialization documentation update for this and a new short video too. Also, embedding callbacks is now available on the GDExtension version too!

That being said, the planned tutorial for Statistics and Achievements got pushed back and instead the next one will be Leaderboards instead. This way I can also release the leaderboards scene for Skillet to pair with that.

Speaking of Skillet, since there is more time currently, production is ramping back up and this week I will put together Codeberg project cards for tasks that need finished to better keep track of where the game is. Those of you who expressed interest in working on the game will finally be able to chip in. I will write up more on where Skillet is and what needs done in the next news update.

❤ Gramps

Server Updates; No, GodotSteam Server

Today I pushed through what seems like a small change-log worth of fixes but, under the hood, was actually a lot of fixes for all classes available in the GodotSteam Server branches. Thankfully, a user, Michael Janeway, found that many of the class functions were linked incorrectly to the non-server versions and causing issues. After a pull-request and then combing through the rest of the functions, everything is now sorted out.

If you are using the server branches, now would be a great time to download the new versions on the Codeberg releases page or the Godot Asset Library. All branches (Godot 4.x, Godot 3.x, and GDExtension) have been updated; since the GDNative version was deprecated, however, it will not get updated.

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