Steam API for the Godot game engine
Steam API for the Godot game engine (version 3.x). For the Windows, Linux, and Mac platforms.
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.
Version 3.10.3 Changes - Changed: various internal variable / arguments names for clarity, will affect signal-returned dictionaries
Version 3.10.2 Changes - Removed: not logged in as error condition in steamInit function
Version 3.10.1 Changes - Changed: various compilation errors for OSX, thanks to SapphireMH - Removed: receiveRelayAuthTicket, findRelayAuthTicketForServer, getHostedDedicatedServerAddress, and getGameCoordinatorServerLogin as they rely on datagram header that was removed from base SDK
Version 3.10 Changes - Added: various Steam Deck specific functions, thanks to EIREXE - Added: new AppLists class of functions and callbacks - Added: new or missing App functions, callbacks, and enums - Added: OverlayToWebPageMode enum and unreadchatmessageschanged callback for Friends class - Added: new Input functions and callbacks - Added: new Parental Settings fuctions, callback, and enums - Added: new Remote Storage functions, callback, and enums - Added: new UGC functions, callbacks, and enum - Added: memory allocation corrections - Changed: updated various Input class functions - Changed: lots of argument names internally, has no effect on usage - Fixed: some enum names - Fixed: various server list filter functions in Matchmaking Servers class - Fixed: receivedRelayAuthTicket, getGameCoordinatorServerLogin, FindRelayAuthTicketForServer in Networking Sockets class - Removed: second call for steamapi.h in godotsteam.cpp
godotsteam/sdk/public/* godotsteam/sdk/redistributable_bin/* godotsteam/SCsub godotsteam/config.py godotsteam/godotsteam.cpp godotsteam/godotsteam.h godotsteam/register_types.cpp godotsteam/register_types.h
custom_modules=.../path/to/dir/godotsteamflag in SCONS when compiling. Make sure the
custom_modules=flag points to where godotsteam is located.
production=yes tools=yes target=release_debugfor your editor and
production=yes tools=no target=releasefor your templates.
When recompiling the engine is finished do the following before running it the first time:
The finished hierarchy should look like this (if you downloaded the pre-compiles, the editor files go in place of these tools files, which are the same thing):
libsteam_api.so steam_appid.txt ./godot.linux.tools.32 or ./godot.linux.tools.64
libsteam_api.dylib steam_appid.txt ./godot.osx.tools.32 or ./godot.osx.tools.64
steam_api.dll steam_appid.txt ./godot.windows.tools.32.exe
steam_api64.dll steam_appid.txt ./godot.windows.tools.64.exe
Lack of the Steam API DLL/SO/DyLib (for your respective OS) or the steam_appid.txt will cause it fail and crash when testing or running the game outside of the Steam client.
export LDPRELOAD=~/.local/share/Steam/ubuntu1232/gameoverlayrenderer.so; export LDPRELOAD=~/.local/share/Steam/ubuntu1264/gameoverlayrenderer.so; ``` This can be done in an .sh file that runs these before running your executable. This issue may not arise for all users and can also just be done by the user in a terminal separately.
From here you should be able to call various functions of Steamworks. You should be able to look up the functions in Godot itself under the search section. In addition, you should be able to read the Steamworks API documentation to see what all is available and cross-reference with GodotSteam.