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

65 lines
2.6 KiB
Markdown

# 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++ :
```cpp
#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.