/GodotSteam

An open-source and fully functional Steamworks SDK / API module and plug-in for the Godot Game Engine.

Primary LanguageC++MIT LicenseMIT

GodotSteam for Godot Engine

An open-source and fully functional Steamworks SDK / API module and plug-in for the Godot Game Engine (version 3.x). For the Windows, Linux, and Mac platforms.

Additional Flavors

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

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 CoaguCo Discord server.

Current Build

You can download pre-compiled versions (currently v3.23) of this repo here.

Version 3.23 Changes

  • Added: new Remote Storage enum to WorkshopFileType
  • Added: two new UGC enums to ItemState and ItemPreviewType
  • Added: two new Friends class constants
  • Added: new function dismissGamepadTextInput()
  • Added: new Remote Play enum, form factor for VR headset
  • Added: two new result enums; not supported and family size limit exceeded
  • Added: three new enums to NetworkingConfigValue
  • Added: new general constant ACCOUNT_ID_INVALID
  • Changed: FEATURE_KIOSK_MODE enum now deprecated
  • Changed: minor housekeeping by rearranging some functions
  • Changed: k_ESteamNetworkingConfig_SDRClient_DebugTicketAddress was replaced by k_ESteamNetworkingConfig_SDRClient_DevTicket, value is the same but reference changed
  • Changed: updated in-editor docs
  • Fixed: spelling error in getProfileItemPropertyInt() bind
  • Removed: App Lists class functions, callbacks, etc. due to SDK 1.59 changes
  • Removed: Remote Play enums mistakenly added as constants

You can read more change-logs here.

Known Issues

  • Using MinGW causes crashes. I strongly recommend you do not use MinGW to compile at this time.

Compatibility

While rare, sometimes Steamworks SDK updates will break compatilibity with older GodotSteam versions. Any compatability breaks are noted below.

Steamworks SDK Version GodotSteam Version Notes
1.59 or newer 3.23 or newer API files (dll, so, dylib) will still work for older
1.53 to 1.58a 3.12 to 3.22.4
1.52 or older 3.11.1 or older

"Quick" How-To

For complete instructions on how to build the Godot 3.x version of GodotSteam, 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!

Donate

Pull-requests are the best way to help the project out but you can also donate through Github Sponsors, Ko-Fi or Paypal!

License

MIT license