Steam API for the Godot game engine
Steam API for the Godot game engine (version 3.0 - 3.2.3). For the Windows, Linux, and Mac platforms.
Additional flavors include: Godot 2.x, Server, and GDNative.
Documentation is available here: https://gramps.github.io/GodotSteam/
You can also check out the Search Help section inside Godot Engine after compiling it with GodotSteam.
You can download pre-compiled versions (currently v3.8.1) of this repo here: https://github.com/Gramps/GodotSteam/releases
Version 3.8.2 Changes - Added: different avatar constants - Changed: array deletions for Clang, thanks to thisismike97 - Changed: initializing char text, thanks to thisismike97 - Fixed: createQueryUserUGCRequest being commented out accidentally - Fixed: logic check for setOverlayNotificationPosition, thanks to thisismike97 - Fixed: UTF8 not being handled correctly in some UGC functions, thanks to EIREXE
Version 3.8.1 Changes - Added: extra newline beween each class section for readability - Added: new signal, steamworkserror_, currently used for call results failures - Changed: cleared most items from to-do list - Changed: getSyncPlatforms now returns a dictionary with the bitwise and full name version of the platform - Changed: separated callbacks and call results in the godotsteam.cpp into two categories
Version 3.8 Changes - Added: default argument to steamInit to pull all current stats or not, defaults to true so no one has to change anything - Added: new SteamNetworkingMessages class; with functions, callbacks, constants, and enums - Added: all missing functions due to 5 argument limit in Godot - Changed: filterText updated to match new SDK 1.50 function - Changed: HTTP class setCookie to setHTTPCookie to prevent confusion with HTML setCookie - Changed: moved fileLoadDialogReponse into htmlfileopen_dialog callback as it must follow the call anyway - Fixed: retrieveConnectionDetails and getAllLobbyData functions - Fixed: (probably) various NetworkingSockets and NetworkingUtils functions
sdk/public/ sdk/redistributable_bin/
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
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.
or
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.
Pull-requests are the best way to help the project out but you can also donate through Patreon or Paypal!
MIT license