GodotSteam for GDExtension | Community Edition
An ecosystem of tools for Godot Engine and Valve's Steam. For the Windows, Linux, and Mac platforms.
Additional Flavors
| Standard Module | Standard Plug-ins | Server Module | Server Plug-ins | Tools | Examples |
|---|---|---|---|---|---|
| Godot 2.x | GDNative | Server 3.x | GDNative | GodotSteamKit | Skillet |
| Godot 3.x | GDExtension | Server 4.x | GDExtension | --- | Skillet UGC Editor |
| Godot 4.x | --- | --- | --- | --- | --- |
| MultiplayerPeer | --- | --- | --- | --- | --- |
Documentation
Documentation is available here. You can also check out the Search Help section inside Godot Engine. To start, try checking out our tutorial on initializing Steam. There are additional tutorials, with more in the works. You can also check out additional Godot and Steam related videos, text, additional tools, plug-ins, etc. here.
Feel free to chat with us about GodotSteam or ask for assistance on the Stoat server or IRC on Libera Chat.
Donate
Pull-requests are the best way to help the project out but you can also donate through Github Sponsors or LiberaPay! You can read more about donor perks here. You can also view all our awesome donors here.
Current Build
You can download pre-compiled versions of this repo here.
Version 4.22 Changes
- Added: pre-commit static checks, thanks to fales
- Changed: merged GDExtension branch into Godot 4, thanks to fales
- Changed: improvements to the build system, thanks to fales
- Changed: revised small bits of code
- Removed: automatic API fix for Windows as it will not run due to failing to load
You can read more change-logs here.
Compatibility
While rare, sometimes Steamworks SDK updates will break compatibility with older GodotSteam versions. Any compatibility breaks are noted below. Newer API files (dll, so, dylib) should still work for older versions.
| Steamworks SDK Version | GodotSteam Version |
|---|---|
| 1.65 | 4.21 or newer |
| 1.63 to 1.64 | 4.17 to 4.20.1 |
| 1.62 | 4.14 to 4.16.2 |
| 1.61 | 4.12 to 4.13 |
| 1.60 | 4.6 to 4.11 |
| 1.59 | 4.6 to 4.8 |
| 1.58a or older | 4.5.4 or older |
Versions of GodotSteam that have compatibility breaks introduced.
| GodotSteam Version | Broken Compatibility |
|---|---|
| 4.8 | Networking identity system removed, replaced with Steam IDs |
| 4.9 | sendMessages returns an Array |
| 4.11 | setLeaderboardDetailsMax removed |
| 4.13 | getItemDefinitionProperty return a dictionary, html_needs_paint key 'bgra' changed to 'rbga' |
| 4.14 | Removed first argument for stat request in steamInit and steamInitEx, steamInit returns intended bool value |
| 4.16 | Variety of small break points, refer to 4.16 changelog for details |
| 4.17 | Windows projects using Steam SDK 1.63 are meant to work with Proton 11 or Experimental on Linux / Steam Deck. |
| 4.19 | Lots of changes to Voice functions, refer to 4.19 changelog for details |
| 4.20 | Godot 4.7 changed callable_method_pointer.h to callable_mp.h which will break backwards compatibility |
| 4.21 | ControllerPad enum changed to SteamControllerPad enum, SendMessages added new parameter |
Known Issues
- Steam Overlay may not work when running your game from Godot but the exported project should work perfectly fine in the Steam client. Read more.
- If using the Steam version of Godot on Windows, you may need to manually update Godot's steam_api64.dll or steam_api.dll with GodotSteam's version as it is sometimes outdated and may cause the plug-in to fail to load. Read more.
No LLM Policy / No "AI" Policy
No LLMs are allowed to be used for issues, patches, or pull-requests. They will be closed or rejected and the submitter may be blocked from future submissions.
License
MIT license