Awesome
GodotSteam MultiplayerPeer
An ecosystem of tools for Godot Engine (version 4.x) and Steam. MultiplayerPeer bridges Godot's multiplayer nodes with Steam networking. 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.
Feel free to chat with us or ask questions on the GodotSteam Discord server.
Donate
Pull-requests are the best way to help the project out but you can also donate through Github Sponsors or Patreon!
Current Build
You can download pre-compiled versions of this repo here.
Version 4.11 Changes
- Changed: in-editor docs
- Changed: reorganized code-base
- Changed: more readable error for
sendPending
- Changed: removed _scb from callback names are they are unnecessary due to class call
- Changed:
lobby_chat_update
to just add or remove players - Changed: chat contants names changed
- Fixed: missing argument hints for
lobby_data_update
- Fixed:
get_peer_info
overwriting various dictionary keys - Removed: string response to packet send failure, now returns actual error code
- Removed: matchmaking enums, were not used; can be taken from GodotSteam directly if needed
- Removed:
lobby_invite
,lobby_match_list
,lobby_kicked
as they are bound but not used in MP
You can read more change-logs here.
Compatibility
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 |
4.11 | MP chat state constants changed |
Known Issues
- 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.
- When self-compiling, using MinGW will cause crashes unless you are using GodotSteam 4.10 or newer.
"Quick" How-To
For complete instructions on how to build the GodotSteam MultiplayerPeer from scratch, please refer to our documentation's 'How-To Multiplayer Peer' 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!
To start, check 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.
License
MIT license