About

DiscordPulse is a Blueprint-first Unreal Engine plugin for Discord Rich Presence.

Architecture

The runtime API is centered on:

UDiscordPresenceSubsystem

One subsystem exists per active Game Instance. It owns:

  • Discord Social SDK runtime loading and unloading
  • Discord client state
  • Automatic callback polling
  • Desired and accepted activity state
  • Pending incoming join requests
  • Blueprint events and error state

Design Goals

  • Work in Blueprint-only and C++ projects
  • Keep SDK lifecycle management inside Unreal's subsystem model
  • Avoid manual callback nodes and timers
  • Fail clearly without crashing when Discord is unavailable
  • Package runtime dependencies through Unreal Build Tool
  • Keep migration fields available while documenting unsupported behavior

Current Scope

DiscordPulse focuses on:

  • Rich Presence
  • Activity images, timestamps, parties, and buttons
  • Join secrets
  • Incoming join requests
  • Blueprint and C++ lifecycle/error APIs

It is not a general wrapper for every Discord Social SDK feature.

Supported Environment

Windows 64-bit on Unreal Engine 5.7 is the primary verified target.

macOS and Linux build paths exist, but require compatible Discord SDK binaries and project-specific verification.

Third-Party Software

Discord Social SDK files are third-party redistributables and remain subject to Discord's terms. Included open-source notices are stored under:

Source/ThirdParty/DiscordSocialSDK/License-Notices.txt

License

DiscordPulse source is covered by the repository's LICENSE.