Skip to content

SDK

New Steamworks SDK 1.65

And with it comes GodotSteam 4.21 and GodotSteam Server 4.10. This SDK updates is mostly about the new Steam hardware so the majority of changes are about interacting with and detecting them: the Steam Machine, Steam Frame, and Steam Controller. Lots of neat stuff actually.

Matchmaking Servers got a tiny tweak to add more friends functionality. And UGC's metadata max got bumped up to 10,000. Nothing else too wild to report really.

There was a minor delay in releasing all of this since the Windows 32-bit DLL wasn't update properly and I had to wait for Valve to fix that up. It was a pretty quick turn around though and here we are!

More coming soon.

❤ Gramps

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.