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
- Update submodules:
cd GodotDiscordSDK git submodule update --init --recursive --remote
-
Either:
-
Run the setup script:
- Windows:
setup.bat
- Linux/OSX:
sh setup.sh
- Windows:
-
Or manually setup:
-
Download the Discord Game SDK (2.5.6).
-
Copy the
discord_game_sdk.h
file from thec/
folder of the SDK, and place it in thesrc/
folder of the repo. -
On Windows:
-
Place the
discord_game_sdk.dll.lib
file from thelib/x86
folder of the SDK in thelib/
of the repo and rename it todiscord_game_sdk.32.lib
.Do the same with the
discord_game_sdk.dll.lib
file from thelib/x86_64
folder, renaming it todiscord_game_sdk.64.lib
.
-
-
On Linux:
- Place the
discord_game_sdk.so
file from thelib/x86_64
folder of the SDK in thelib/
folder of the repo and rename it tolibdiscord_game_sdk.so
.
- Place the
-
On MacOS:
- Place the
discord_game_sdk.dylib
file from thelib/x86_64
folder of the SDK in thelib/
folder of the repo and rename it tolibdiscord_game_sdk.dylib
.
- Place the
-
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
andlib/x86_64
folders of the SDK. (x86
being 32-Bit, andx86_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)
- Download and install Python (Make sure to add to PATH)
- Install SCons:
python -m pip install -U scons
- (Optional) Reload your terminal to update the path variables.
-
Compile the library:
- Windows Example:
scons platform=windows bits=64
- Linux Example:
scons platform=linux
- MacOS Example:
scons platform=osx
- Windows Example:
-
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 inscons
, e.gscons 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.