Troubleshooting
Start with the Unreal Output Log and search for:
LogDiscordPulseAlso bind:
On Discord Initialization Failed
On Discord Error
On Discord Activity Updated
On Discord DisconnectedFast Diagnostic Checklist
- Test using Standalone play mode.
- Keep Discord desktop open and logged in.
- Run setup from local Player Controller
BeginPlay. - Check
Is Local Controllerbefore setup. - Validate the
Discord Presence Subsystemtarget. - Use
Set Simple Presencebefore testing images or invites. - Confirm
On Discord Activity Updatedfires. - Search the Output Log for
LogDiscordPulse.
Subsystem Is Invalid
Typical log:
Accessed None trying to read property CallFunc_GetGameInstanceSubsystem_ReturnValueCause:
Get Game Instance Subsystemran from Blueprint Game InstanceEvent Init.- The target getter ran before Game Instance Subsystems existed.
Fix:
- Move setup to local Player Controller
BeginPlayor another post-startBeginPlay. - Add
Is ValidafterGet Game Instance Subsystem.
In UE 5.7, Blueprint Game Instance Event Init is too early for Game Instance Subsystems.
Blueprint Prints Success But Nothing Runs
An unexecuted Blueprint enum output can display its default Success value.
Do not treat a printed return pin as proof that the node executed. Confirm:
- The execution wire reached the node.
- The subsystem target was valid.
- The Output Log contains
Discord Presence initialized and connection started.
If the log contains only:
Discord Pulse module loaded with Discord Social SDK supportthen the plugin loaded, but initialization did not execute.
Prints Are Prefixed With Server
Example:
Server: DISCORD INITIALIZEDCause:
- The setup is running in a listen-server or server-only PIE instance.
Fix:
- Initialize from a Player Controller.
- Require
Is Local Controller == true. - Test with Standalone play mode first.
Dedicated servers should never own local Discord Rich Presence.
Invalid Application ID
Cause:
- Application ID is empty, zero, non-numeric, or outside unsigned 64-bit range.
- The wrong Discord Developer Portal value was copied.
Fix:
- Use the application's numeric Application ID.
- Do not use the public key, client secret, or OAuth credentials.
SDK Load Failed
Verify:
Source/ThirdParty/DiscordSocialSDK/include/discordpp.h
Source/ThirdParty/DiscordSocialSDK/include/cdiscord.h
Source/ThirdParty/DiscordSocialSDK/lib/release/discord_partner_sdk.lib
Source/ThirdParty/DiscordSocialSDK/bin/release/discord_partner_sdk.dllFor a packaged Win64 game, verify:
discord_partner_sdk.dllis beside the game executable.
The runtime library must match the target architecture.
Initialization Succeeds But Presence Does Not Appear
An initialization Success confirms local SDK setup, not activity acceptance.
Check:
Set Simple Presenceexecutes on a valid subsystem.On Discord Activity Updatedfires.On Discord Errordoes not fire.- Discord desktop runs as the same operating-system user.
- The Application ID belongs to the intended Discord application.
- Discord client privacy/activity-sharing settings allow game activity.
- You are viewing the correct Discord account.
Test without images:
Details = "Playing My Game"
State = "DiscordPulse Test"Immediate Success, No Activity Updated Event
The immediate result only means the request was submitted locally.
Check the Output Log for:
Discord activity update failed
Discord activity is waiting for the Social SDK client to become ready
Discord Social SDK status changedAlso check Get Last Discord Error and the project log directory for discord.log.
Images Do Not Appear
- First confirm simple presence works.
- Use an asset uploaded to the same Discord application.
- Use the saved lowercase asset key, not the display name.
- Wait for new assets to propagate.
- Remove image fields and add them back one at a time.
Buttons Do Not Appear
- Supply both label and URL.
- Use valid public URLs.
- Remember that Discord controls which client surfaces display buttons.
An incomplete pair is ignored and logged.
Set Activity Before Initialization
Typical log:
Set Discord Activity called before Discord Presence was initialized.Fix:
- Execute initialization first.
- Branch on its immediate result.
- Call activity only from the success branch.
- Ensure both calls use the same valid subsystem target.
Old Plugin Copy Is Running
Projects often contain a copied plugin under:
YourProject/Plugins/DiscordPulse/Editing a separate source repository does not update that project copy automatically.
Fix:
- Close Unreal Editor.
- Replace or rebuild the project plugin copy.
- Reopen the project.
- Confirm new expected log messages appear.
Join Requests Do Not Work
Confirm normal Rich Presence first, then publish:
PartyId = "lobby-eu-42"
PartySize = 1
PartyMax = 4
JoinSecret = "opaque-join-token"Bind:
On Discord Join Requested
On Discord Join Request ReceivedSee Invites And Join Requests.
PIE Shutdown Problems
- Do not store raw subsystem references across PIE sessions.
- Do not create a second Discord callback timer.
- Do not execute callbacks after Game Instance destruction.
- Fetch the subsystem from the current Game Instance.
BuildPlugin Recursively Copies The Plugin
Cause:
-Packagepoints inside the DiscordPulse source directory.
Fix:
- Stop the build.
- Use an output directory outside the source plugin.
- Restore removed metadata from version control or backup.
See Packaging.