Skip to content

Patches

New Godot, New GodotSteam, and More

Godot 4.7 is finally here and we are rolling out GodotSteam 4.20 (hey-o) too! It brings some small but mighty changes. There is also a new big tool coming for GodotSteamKit soon. The lobbies tutorial got a facelift too. So let's get into it!

GodotSteam 4.20

GodotSteam 4.20 is now live and contains a bunch of tiny changes. First, the Project Settings have been expanded to cover various app IDs like demos, playtests, and tools. You can now enter as many as you need then toggle between them using the new app type field. GodotSteam will then select the app ID used accordingly. In the next patch, I may expose a way to pull that in-use app ID just in case. However, if you need it now, you can still use GodotSteam's get_current_app_id() function.

There is now some automation going on. The first one is related to the above change where GodotSteam will automatically port your old app ID settings (if available) over to the new version for you. The second one is for GDExtension, Windows, and the Steam version of Godot specifically. GodotSteam will now check for the presence of the steam_api64.dll to see if it is outdated then overwrite that with its copy. This prevents conditions where the extension fails to load because Godot's shipped steam_api64.dll is out of date. Godot only seems to update this when a new version comes out so it has caused some problems since 4.6.3 launched.

Some new binds were added to the SteamPacketPeer for those using MultiplayerPeer, thanks to jdbool. This allows you to get the connection handle and packet state easier. A crash with MultiplayerPeer peer that can occur when a lobby member leaves, which triggers during the lobby_chat_update callback, thanks to bearlikelion.

Two small changes that might trip you up: initFilterText() had the parameter removed as it was unnecessary and lobby_data_update now passes a bool for "success" instead of an integer.

The rest is minor tweaks, adding of missing binds, etc. You can read the changelogs for more.

Also for those of you who were a bit dismayed by the LLM-related stuff recently, there is now a fixed 4.5.2 version of GodotSteam starting with the 4.20 patch. I'll keep popping out future builds too.

GodotSteamKit Input Tools

One of the biggest pain points in Steam is Input and GodotSteamKit is tackling that very soon. I have been working on adding a few different tools to the Kit to making this all easier: - An autoload script that handles most of the controller check and core functionality. - A new custom node for controllers specifically; it can be assigned to players and will track an individual controller's state and actions. - New glyph custom nodes for displaying glyphs for each controller type. - A starter kit for displaying glyph and prompt text quickly. - An in-game actions VDF editor that allows you to modify your actions VDF or create one via a form to make them less of a pain in the ass.

There is no ETA on when these will be ready but hopefully next week. Definitely one of the biggest updates to the Kit yet though. And, of course, some new tutorial material covering all of this.

No More Itch.io

GodotSteamKit initially launched on Itch.io then there started being some weird descrepancies with the revenue. I reached out to them but never heard back so I started offering other places to purchase copies: Ko-Fi and a tier on Github Sponsors. A month went by and I still never heard back from Itch about this so I disabled purchases on Itch. Well, that temporary pause has turned into a permanent one and I am still in the dark about what happened.

If you purchased the GodotSteamKit on Itch, you can contact me to get a copy on Ko-Fi while I work on setting up a better system to provide copies and updates.

Lobby Tutorial Update

Speaking of tutorials, the lobby tutorial got a fresh update based on the GodotSteamKit starter kit and it needed it. There was some skimpy information in there that has been really expanded and hopefully answers more questions about the lobby process.

There was also a new text filtering tutorial added recently for those looking to clean up any chat fields.

Oh, and I added the "last updated" information to the top of each tutorial so you have an idea of how fresh it is.

Licenses?

I had actually planned to change GodotSteam's license for this update to lean more towards GodotSteamKit's and restrict some usage; specifically where it could be shared or how it was included in things that weren't games which is what it was made for. That plan is temporarily scrapped though. I will revisit this when we get closer to Godot 5 so I can make a clean break along with a massive overhaul that is planned.

Back to the coding mines for me. See you next update!

❤ Gramps

Dejavu For You

Yeah, another update but just like the last! Kinda.

More GodotSteam With v4.19.1

Rolling out a very, very, very tiny update for GodotSteam's precompiled bundle and GDExtension creeping it up to 4.19.1. This just fixes an error in the in-editor docs due to some regex nonsense. While it didn't affect anything functionally, it did break those useful documentation files.

GodotSteamKit v1.1.1

GodotSteamKit also got an update but mostly fixes for the Chat and Lobby starter kits. Probably regression related, this fixes up kicking and promoting players as well as adds an icon to tell who the host actually is. The update is now live for both piecemeal components and the full Kit.

Dropping MIT

In the upcoming GodotSteam 4.20 (hey-o), we will be dropping the MIT for another custom license similar to GodotSteamKit's. There will be some minor modifications on what you can and cannot do with the tool but for the mass majority of people, nothing will really change.

More soon!

❤ Gramps

GodotSteam and GodotSteamKit Updates

Fresh GodotSteam 4.19 / 4.9.2

Godot just dropped 4.6.3 the other day so we are rolling out GodotSteam 4.19 and GodotSteam Server 4.9.3 too! The normal GodotSteam versions got a lot of changes to the Voice functionality (again) due to the previous GodotSteamKit update which added voice features. This brings back getAvailableVoice() and banishes getDecompressedVoice() for different reasons but it became pretty clear once working through that GodotSteamKit update that these need changed around. There were also a lot of in-editor doc updates for both the regular and server versions too.

GodotSteamKit Purchase Options

GodotSteamKit went live earlier this month and, while Itch.io has been great, something is taking a Valve-sized bite out of the revenue. Very likely something dumb I did somewhere. However, while I figure out what's going on with the Itch stuff, purchasing over there has been temporarily disabled for the time being but the options to snag a copy of the complete Kit have grown.

You can now purchase GodotSteamKit on the new Ko-Fi page; this will give you access to a download that will get updated regularly but you can also request an Itch.io key by sending an e-mail too! Alternatively, you can do a one-time donation on Github Sponsors with a new GodotSteamKit tier; of course, reoccurring sponsors also get access to the Kit by way of the sponsors' repository. Speaking of, if you are already a sponsor, please e-mail the same address above to get your Itch.io key!

More soon!

❤ Gramps

Speaking Of: Voice and GodotSteamKit

Hey gang! A fresh update has just been released for the GodotSteamKit and an updated version of our Voice tutorial dropped too.

This update brings two new custom nodes: SteamAchievementIcons and SteamVoice. Achievement icon nodes are just like the avatar ones in that you just pass the achievement's API name then it fetches that texture and displays it. They also come in the same Sprite2D, Sprite3D, and TextureRect variants.

The bigger update is the SteamVoice node, which coincides with the updated Voice tutorial. After a very helpful PR by LuxyCeremy, our Voice tutorial is greatly improved and trimmer than before. This also led to the revival of the getAvailableVoice() for GodotSteama 4.19 on; it really was just a nice, quick check for voice data.

The SteamVoice node handles all the major parts of voice chat and you just have to hook them up to your game since the networking methods you use to send voice data will vary (RPC, Steam Messages, Steam Sockets, etc.). It also includes properties for using loopback in audio testing and setting the "optimal" sample rate from the Steam client. However, when I used this optimal sample rate in my tests, everything sounded high-pitched so your mileage may vary.

Since getAvailableVoice() doesn't exist in GodotSteam 4.16 to 4.18.1, the tutorial covers how to use voice in both versions and the custom node handles this by checking for it and skipping ahead if the function isn't present.

I think that is it. Next all of this stuff will be added to Skillet's codebase and the next version of GodotSteam finished up to be ready for the Godot 4.7 and 4.6.3 releases.

❤ Gramps

GodotSteamKit Now Live

Hey there! The GodotSteamKit is now finally live for the public both on Codeberg and Itch.io in two different versions: free piecemeal components and a paid all-in-one plug-in for $20 that has everything and will get updates before the free component versions. For a more details explanation of what is currently in the Kit and what is coming next, please check out the project page. Oh, and if you are a sponsor, you already have access to the full plug-in via Codeberg but will need to reach out for a key on Itch.io.

Since we're here, let's do a quick rundown of the contents. There are three major components in this first release: custom nodes, starter kits, and autoloads.

The Custom Nodes

Currently the Kit contains two types of custom nodes: Steam Avatars and Steam Usernames which come in a few different flavors. Avatars have SteamAvatar, SteamAvatar3D, and SteamAvatarRect, which are based on Sprite2D, Sprite3D, and TextureRect respectively. While usernames have SteamUsername and SteamUsername3D, which are based on Label2D and Label3D respectively.

The Starter Kits

Designed to help jump-start some of the more cumbersome parts of working with Steam, these starter kits can be mixed, torn apart, and redesigned to fit your project. Starting off with Steam Chat, Steam Leaderboards, and Steam Lobbies.

The Autoloads

Lastly we have just one autoload script that houses the basic properties and initialization processes for Steam. This isn't really necessary but it is currently used by the starter kits so you'll need to patch that out if you decide to roll your own.

Tutorials

The release got delayed by some number of days as I went through and created some documentation on the various bits and pieces of each component. The autoloads still need one written up but that will come soon.

More Coming

There are more components planned for the near future which will come to the all-in-one Kit first then trickle out into the free versions later. Currnetly cooking, there are more custom nodes, starter kits, and the first wave of extra Steam tools. You can read more about those here.

For now, check out the Kit and let me know if you find anything broken and any feedback you may have. Especially if you have ideas on any additional tools that aren't mentioned in the roadmap. I may have forgotten to put them in there or they may yet be a secret.

❤ Gramps