Files
Mathew ed7c7fd991 Import initial du projet Survival (UE 5.8)
Boucle de jeu complète : récolte, inventaire, consommation, stats de survie,
mort et respawn. Gameplay en C++, Blueprints réservés au câblage d'assets.

Assets binaires (.uasset, .umap, textures, audio) suivis via Git LFS.
Binaries/, Intermediate/, Saved/ et DerivedDataCache/ sont ignorés :
régénérés au build, ils pèsent 3 Go pour 1,3 Go de contenu utile.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-28 11:29:07 +02:00

2.6 KiB

Discord Rich Presence

Plugin made by Mathew Simon.

Affiche le jeu dans le statut Discord quand on le lance. Aucune DLL ni SDK externe : le plugin parle directement au named pipe local de Discord (\\.\pipe\discord-ipc-N).

Windows uniquement (PlatformAllowList: Win64).

1. Cote Discord

  1. https://discord.com/developers/applications > New Application
  2. Le nom de l'application = ce que Discord affichera comme nom du jeu ("joue a XXX").
  3. Copier l'Application ID (= Client ID) sur la page General Information.
  4. Optionnel, pour les images : Rich Presence > Art Assets > uploader une image et lui donner un nom. Ce nom est la valeur a mettre dans LargeImageKey / SmallImageKey. (Les uploads mettent quelques minutes a se propager.)

2. Cote Unreal

Edit > Project Settings > Plugins > Discord Rich Presence

Reglage Role
Enabled Active/desactive tout le plugin
Client Id L'Application ID copie a l'etape 1
Enable In Editor Presence active aussi en PIE (pratique pour tester)
Default Activity Ce qui est affiche des le lancement
Min Update Interval Seconds Throttle des envois (Discord limite a 5 / 20 s, ne pas descendre sous 4)
Reconnect Interval Seconds Frequence des tentatives quand Discord n'est pas lance

C'est tout : le sous-systeme demarre avec la GameInstance, se connecte, envoie Default Activity, et se reconnecte tout seul si Discord est ferme puis relance.

3. Changer la presence en cours de jeu

En Blueprint, noeud Get Discord Rich Presence, puis :

  • Set Details And State — les deux lignes de texte sous le nom du jeu
  • Set Activity — remplace tout (textes + images + party)
  • Set Party — le compteur "(2 sur 4)"
  • Reset Elapsed Time — repart de zero sur le chrono de temps de jeu
  • Clear Activity — retire le jeu du statut
  • Is Connected To Discord — etat de la connexion

En C++ :

#include "DiscordRichPresenceSubsystem.h"

if (UDiscordRichPresenceSubsystem* Discord = UDiscordRichPresenceSubsystem::Get(this))
{
    Discord->SetDetailsAndState(TEXT("Foret du Nord"), TEXT("Jour 12 - En vie"));
}

Notes

  • Discord ignore les textes de moins de 2 caracteres, ils sont donc omis a l'envoi.
  • Le chrono de temps de jeu demarre a l'Initialize du sous-systeme.
  • Les changements sont accumules et envoyes au plus une fois par Min Update Interval Seconds : appeler SetDetailsAndState a chaque frame ne spamme pas Discord.
  • Si Discord n'est pas lance, il ne se passe rien (pas d'erreur, pas de blocage) et le plugin retente periodiquement.