Notice 2024/05/31 This project has remained largely untouched for a few years now, and I don't currently have the bandwidth for a rewrite, so I am choosing to archive it. If you would like to maintain the project, feel free to fork or send me an email.
NOTE: This wrapper is still under development.
A Discord Game SDK wrapper for Godot, written using GDNative C for Windows, Linux and MacOS.
Make sure to use the Release version of the library on Windows if you do not have the MS Build Tools installed, or it will crash.
For more detailed documentation and instructions, head to the wiki.
Head over to the Project Template and follow the instructions in the README.
If you can't or don't want to compile the library yourself head to the actions page, or download a specific release.
Clone the repository: git clone https://github.com/LennyPhoenix/GodotDiscordSDK.git
cd GodotDiscordSDK
git submodule update --init --recursive --remote
Either:
Run the setup script:
Windows: setup.bat
Linux/OSX: sh setup.sh
Or manually setup:
Download the Discord Game SDK (2.5.6).
Copy the discord_game_sdk.h
file from the c/
folder of the SDK, and place it in the src/
folder of the repo.
On Windows:
Place the discord_game_sdk.dll.lib
file from the lib/x86
folder of the SDK in the lib/
of the repo and rename it to discord_game_sdk.32.lib
.
Do the same with the discord_game_sdk.dll.lib
file from the lib/x86_64
folder, renaming it to discord_game_sdk.64.lib
.
On Linux:
discord_game_sdk.so
file from the lib/x86_64
folder of the SDK in the lib/
folder of the repo and rename it to libdiscord_game_sdk.so
.On MacOS:
discord_game_sdk.dylib
file from the lib/x86_64
folder of the SDK in the lib/
folder of the repo and rename it to libdiscord_game_sdk.dylib
.Make sure to place the appropriate Discord Game SDK shared library in the demo's bin directory (ensure it is also placed in any exports, this should be automatic if it is selected as a dependency).
These files can be retrieved from the lib/x86
and lib/x86_64
folders of the SDK. (x86
being 32-Bit, and x86_64
being 64-Bit)
NOTE: On Linux/OSX you may have to add
lib
to the beginning of these shared library's names.
Install SCons: (If not already installed)
python -m pip install -U scons
Compile the library:
scons platform=windows bits=64
scons platform=linux
scons platform=osx
The compiled binaries will be available from the demo's bin directory.
NOTE: The output directory for the compiled binaries can be changed by passing the target_path
parameter in scons
, e.g scons platform=windows bits=64 target_path=project/bin
These may now be used in a GDNative library in your godot project. See the demo project for an example.
Ensure that the .gdns
files are all located in the same folder as the .gdnlib
's folder, otherwise the library will not work.
All the classes required can be accessed from the Discord
class as preloaded constants.