An open-source and fully functional Steamworks SDK / API module and plug-in for the Godot Game Engine (version 4.x). For the Windows, Linux, and Mac platforms.
Pre-Compiles | Plug-ins | Server | Examples/Demos |
---|---|---|---|
Godot 2.x | GDNative | Server 3.x | Godot 3.x |
Godot 3.x | GDExtension | Server 4.x | Godot 4.x |
Godot 4.x | --- | GDNative | Server 3.x |
Multiplayer Peer | --- | GDExtension | Server 4.x |
Documentation is available here. You can also check out the Search Help section inside Godot Engine after compiling it with GodotSteam.
Feel free to chat with us about GodotSteam on the Discord server.
You can download pre-compiled versions of this repo here.
Version 4.9.1 Changes
- Fixed: fixed typo in RESULT_ADMINISTRATOR_OK, thanks to sepTN
- Fixed: fixed a variety of types and code corrections, thanks to bobsayhilol
Version 4.9 Changes
- Added: missing
user_achievement_icon_fetched
callback - Added: new functions and enums to Apps class
- Added: new Steam Timeline class functions, enums, and constants
- Added: new functions to UGC class
- Added: new enum BetaBranchFlags
- Added: new value NETWORKING_CONFIG_IP_LOCAL_HOST_ALLOW_WITHOUT_AUTH for NetworkingConfigValue enum
- Changed: updated for Steamworks SDK 1.60
- Changed:
network_messages_session_failed
callback now returns the Steam ID associated with the user whose session failed - Changed:
global_stats_received
had call result name change under-the-hood, does not affect anything - Changed:
sendMessages()
now returns the message result - Changed:
getQueryUGCResult()
now passes back additional value total_files_size - Changed: enum RemoteStoragePlatform now cast as uint32_t, fixes Rust compatibility, thanks to GreenFox
- Changed:
item_installed
signal now returns additional data - legacy_content and manifest_id - Fixed: incorrect signal name for
inventory_definition_update
, thanks to Foxushka
You can read more change-logs here.
While rare, sometimes Steamworks SDK updates will break compatilibity with older GodotSteam versions. Any compatability breaks are noted below. Newer API files (dll, so, dylib) should still work for older versions.
Steamworks SDK Version | GodotSteam Version |
---|---|
1.59 or newer | 4.6 or newer |
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 |
- Steam overlay will not work when running your game from the editor if you are using Forward+ as the renderer. It does work with Compatibility though. Your exported project will work perfectly fine in the Steam client, however.
- Using MinGW causes crashes. I strongly recommend you do not use MinGW to compile at this time.
For complete instructions on how to build the Godot 4.x version of GodotSteam scratch, please refer to our documentation's 'How-To Modules' section. It will have the most up-to-date information.
Alternatively, you can just download the pre-compiled versions in our Releases section and skip compiling it yourself!
Pull-requests are the best way to help the project out but you can also donate through Github Sponsors!
MIT license