2023-04-14 18:29:45 +02:00
2023-04-12 12:02:36 +02:00
2023-04-14 20:45:27 +02:00
2023-04-24 17:33:21 +02:00
2023-04-25 10:37:23 +02:00
2023-04-22 23:42:23 +02:00
2023-03-11 14:23:12 +01:00
2023-04-23 12:15:18 +02:00
2023-04-14 16:38:37 +02:00
2023-04-24 08:18:06 +02:00
2023-04-23 13:14:00 +02:00

This is version 1.0! In future versions there will be lobbies, invites, linux builds etc. very soon!

Don't forget to run the following command if you clone this project or the godot-cpp folder will be empty

git submodule update --init

Addon Usage 🚀

  1. Download the addon
  2. Put the discord-sdk-gd/ folder in a addons/ folder in your Godot project
  3. Enable the addon in your Project Settings under "Plugins" and "DiscordSDK". (if it doesn't show up reopen the project)
  4. Create an Application under https://discord.com/developers/applications and get the Application ID
  5. (optional) Set images under "Rich Presence" and "Art Assets" and remember the keys
  6. Exporting: You need to copy the discord_game_sdk.dll or on linux discord_game_sdk.so from res://addons/discord-sdk-gd/bin/PLATFORM/discord_game_sdk.[dll/.so] to your exported project in the same directory as discord_game_sdk_binding_debug.[dll/.so]
extends Node

func _ready():
	Discord_Activity.app_id = 1099618430065324082 # Application ID
	Discord_Activity.details = "A demo activity by vaporvee#1231"
	Discord_Activity.state = "Checkpoint 23/23"
	
	Discord_Activity.large_image = "game" # Image key from "Art Assets"
	Discord_Activity.large_image_text = "Try it now!"
	Discord_Activity.small_image = "boss" # Image key from "Art Assets"
	Discord_Activity.small_image_text = "Fighting the end boss! D:"
	
	Discord_Activity.start_timestamp = int(Time.get_unix_time_from_system()) # "02:41 elapsed"
	#Discord_Activity.end_timestamp = 2492978400 # "15:41 left" (but currently 31. 12. 2048 in unix time)

	Discord_Activity.refresh() # Always refresh after changing the values!

Then it should look like this:

Try a built demo

📨 Still questions? write an issue! I'll answer very fast :)


Extra Info

  • "Step 2" (enabling the addon) is needed to add Discord_Activity.coreupdate() to a _process() function with a singleton. This function is needed by pretty everything but you can it also just add it yourself.
  • The Discord SDK itself doesn't build under Linux for some reason (I don't have a Mac so i don't even know if it's builds under OSX) its not well documented but I try as hard as i can to get it working crossplatform but at the time its only working under Windows... (But feel free to make pull requests btw)
  • Its an early release some features aren't implemented only because i need a small amount of time not because it's not possible


Credit

@Pukimaa - Logo Design


This project is not endorsed or affiliated with Discord Inc. or the Godot Foundation.

Description
Discord RPC Plugin for GDScript with an easy-to-use code pattern in Godot Engine 4, with optional Editor Rich Presence! (Compatible with Linux, Windows, & MacOS)
Readme 313 MiB
2024-04-02 23:44:29 +00:00
Languages
C++ 60.6%
GDScript 20.9%
Python 18.1%
C 0.4%