Passer au contenu principal

Démarrage rapide : PlayFab Online Subsystem

Cet article vous aide à configurer et à utiliser les fonctionnalités PlayFab Multiplayer telles que Lobby, Matchmaking et Party pour les jeux créés avec Unreal Engine 4 ou Unreal Engine 5. Pour obtenir la liste complète des plateformes et versions prises en charge dans Unreal Engine 4 ou Unreal Engine 5, consultez Plateformes prises en charge. Après avoir suivi les étapes pertinentes décrites sur cette page pour vos plateformes cibles, vous serez prêt à utiliser PlayFab Online Subsystem (PF OSS). L’authentification, la mise en réseau, la VOIP, le regroupement dans des lobbies et le matchmaking sont gérés pour vous, sans qu’aucune autre modification ne soit nécessaire.

Télécharger et installer PlayFab Online Subsystem

Accédez à PlayFab Online Subsystem pour télécharger ou cloner la source de PF OSS. Le dépôt téléchargé ou cloné s’appelle PlayFabMultiplayerUnreal. Il doit être renommé en OnlineSubsystemPlayFab.

Ce dont vous avez besoin

  • TitleID PlayFab : si vous n’avez pas de TitleID configuré pour les kits de développement logiciel (SDK) PlayFab Party et Multiplayer, consultez Activation de PlayFab Party.

Microsoft Game Development Kit (GDK), PC, Switch, PlayStation®5 et PlayStation®4

Configuration initiale

Base de code d’Unreal Engine

  • Copiez le dossier OnlineSubsystemPlayFab et son contenu dans votre répertoire Unreal Engine, sous Engine\Plugins\Online.
  • Exécutez GenerateProjectFiles.bat pour créer les fichiers de projet du moteur.
  • Chargez le projet dans Visual Studio en sélectionnant le nouveau fichier UE5.sln.
  • Définissez la configuration de votre solution sur Development Editor et la plateforme de votre solution sur Win64. Sélectionnez la cible Unreal Engine 5, puis sélectionnez Build.

Base de code du jeu

  • Pour ajouter OnlineSubsystemPlayFab à votre liste de plug-ins, appliquez les modifications suivantes à la section Plugins du fichier de projet.
    • Supprimez toutes les plateformes sur lesquelles vous ne publiez pas
    • Utilisez XboxOneGDK au lieu de XB1 si vous utilisez Unreal Engine 4. Unreal Engine 5 déprécie XboxOneGDK
  • Générez le fichier de solution du jeu en sélectionnant le fichier {ProjectName}.uproject, puis sélectionnez Switch Unreal Engine Version pour pointer vers le chemin du code d’Unreal Engine.

Configuration du jeu

  • Quelle que soit la plateforme ciblée, votre jeu doit configurer certaines valeurs propres à PlayFab dans le fichier INI de la plateforme cible prévue (situé dans [yourGameDirectory]/Platforms/[yourPlatform]/Config).
    • XBOX Series X GDK : XSXEngine.ini
    • PC GDK : WinGDKEngine.ini
    • XBOX One GDK : XB1Engine.ini (ou XboxOneGDKEngine.ini si vous utilisez Unreal Engine 4)
    • PC Steam : WindowsEngine.ini (ou dans [yourGameDirectory]/Config/Windows)
    • Nintendo Switch SwitchEngine.ini
    • PS4™ PS4Engine.ini
    • PS5™ PS5Engine.ini
  • Remplacez les sections INI de la configuration si elles existent déjà (par exemple, Engine.GameEngine) par celles présentées dans les sections suivantes.
  • Veillez à remplacer tous les champs <REPLACE ME> par vos données :
  • Sur UE 5.6 et versions ultérieures, le paramètre DriverClassName nécessite le préfixe “/Script/”. Par exemple, utilisez "/Script/OnlineSubsystemPlayFab.PlayFabNetDriver" au lieu de "OnlineSubsystemPlayFab.PlayFabNetDriver".

Considérations propres à la plateforme

Une fois tout cela fait, nous avons presque terminé. Il ne reste que quelques paramètres clés propres à la plateforme à définir.

GDK

Lorsque vous développez des jeux avec le GDK, configurez les services de plateforme.

Steam

Si vous développez des jeux pour Win64 avec Steam, définissez vos services de plateforme.

Switch

Pour plus d’informations sur Switch, consultez le fichier ReadMe.md fourni avec PlayFab OSS pour Switch. Si vous n’y avez pas accès, vous pouvez demander l’accès à nos dépôts privés.

PS5™ et PS4™

Pour plus d’informations sur PS5™ et PS4™, consultez le fichier ReadMe.md fourni avec PlayFab OSS pour PS5™ et PS4™. Si vous n’y avez pas accès, vous pouvez demander l’accès à nos dépôts privés.

Multiplateforme

Si votre jeu utilise la prise en charge de la mise en réseau multiplateforme de PlayFab, définissez les plateformes autorisées à se connecter.
Toutes les plateformes autorisent la VoIP par défaut. Pour désactiver la VoIP sur une plateforme spécifique, ajoutez le nom du modèle de plateforme à votre fichier de configuration Unreal Engine, comme indiqué dans l’exemple suivant.
Ces étapes terminent la configuration de l’OSS nécessaire à son utilisation dans votre jeu.

Utilisation dans le code du jeu

PlayFab Online Subsystem ne prend en charge que le nommage de session de jeu NAME_GameSession
Comme pour les autres plug-ins Online Subsystem : Ajoutez PublicDependencyModuleNames.AddRange(new string[] { "OnlineSubsystem", "OnlineSubsystemUtils" }); dans Game.Build.cs, puis utilisez-le de la même manière que les autres plug-ins de jeu. Exemple de code dans GameSession.cpp :
Exemple de code dans GameFriends.cpp :

Résolution des problèmes

Moyens de vous aider à résoudre les problèmes.

Builds installés d’Unreal Engine

Les utilisateurs peuvent rencontrer des problèmes lorsqu’ils tentent de créer un build installé d’Unreal Engine avec OnlineSubsystemPlayFab sur les variantes de build GDK. Nous fournissons les conseils suivants pour surmonter ce problème en attendant une solution plus complète. Si vous utilisez Unreal Engine 5.4, 5.5, 5.6 ou 5.7 :
  • Vous pouvez rencontrer l’erreur d’exécution suivante : Runtime dependency Party.dll is configured to be staged from C:\Program Files (x86)\Microsoft GDK\<version>\Party.dll and Engine\Plugins\Online\OnlineSubsystemPlayFab\Platforms\GDK\Redist\Party.dll
  • Accédez à Engine\Platforms\GDK\Plugins\Online\OnlineSubsystemGDK\
  • Ouvrez OnlineSubsystemGDK.uplugin et désactivez PlayFabParty :
  • Accédez à Engine\Platforms\GDK\Plugins\Online\OnlineSubsystemGDK\Source\
  • Ouvrez OnlineSubsystemGDK.Build.cs et commentez l’inclusion de PlayFabParty :
Si vous utilisez Unreal Engine 5.0 à 5.3 :
  • Recherchez le répertoire où Unreal Engine est installé sur la machine.
  • Accédez à Engine\Platforms\GDK\Plugins\Online\PlayFabParty
  • Ouvrez PlayFabParty.uplugin et mettez à jour la configuration Modules avec PlatformDenyList :
  • Répétez ce processus pour XB1 (PlayFabParty_XB1.uplugin) et XSX (PlayFabParty_XSX.uplugin) si ces plateformes sont requises pour le build installé. Si Win64 est également une plateforme requise pour le build installé, ajoutez Win64 au tableau PlatformDenyList.
Si vous utilisez Unreal Engine 4.27+ :
  • Recherchez le répertoire où Unreal Engine est installé sur la machine.
  • Accédez à Engine\Platforms\GDK\Plugins\Online\PlayFabParty
  • Ouvrez PlayFabParty.uplugin
  • Remplacez la clé WhitelistPlatforms par BlacklistPlatforms
  • Répétez le processus pour XboxOneGDK (PlayFabParty_XboxOneGDK.uplugin) et XSX (PlayFabParty_XSX.uplugin) si ces plateformes sont requises pour le build installé. Si Win64 est également une plateforme requise pour le build installé, ajoutez Win64 au tableau BlacklistPlatforms.
Exemple de configuration Modules dans PlayFabParty.uplugin pour Unreal Engine 4.27+ :

Échec de l’établissement de liaison sur Steam

Si vous constatez un échec de l’établissement de liaison (par exemple LogHandshake: IncomingConnectionless: Error reading handshake packet), consultez ce message du forum Unreal Engine pour vérifier les paramètres.

Flux de travail d’OnlineSubsystemPlayFab

Les étapes décrites dans la section Considérations propres à la plateforme vous demandent d’inclure :
Le module OnlineSubsystemModule d’Unreal Engine crée une instance de sous-système en ligne pour PlayFab et commence à créer ⁠le PlayFabSingleton. À ce stade, le SDK est initialisé dans⁠ FOnlineSubsystemPlayFab::Init(), qui initialise les SDK Party et Multiplayer avec le TitleID PlayFab (ce titleID est défini dans le fichier de configuration du jeu). Pendant l’initialisation, nous appelons ⁠CreatePlayFabSocketSubsystem() pour en faire le sous-système en ligne principal. Flux de travail du SDK Multiplayer : FOnlineSubsystemPlayFab::Init() initialise le singleton du SDK multijoueur InitializeMultiplayer() pour votre titre. Dans PlayFabLobby.cpp, FPlayFabLobby::DoWork() traite les changements d’état déclenchés par les API Multiplayer (consultez Platforms/GDK/Include/PFLobby.h pour les API). Flux de travail du SDK Party : FOnlineSubsystemPlayFab::Init() initialise le singleton du SDK multijoueur InitializeParty() pour votre titre. Dans OnlineSubsystemPlayFab.cpp, FOnlineSubsystemPlayFab::DoWork() traite les changements d’état déclenchés par les API Party (consultez Platforms/GDK/Include/Party.h pour les API). « PlayStation » est une marque déposée ou une marque commerciale de Sony Interactive Entertainment Inc. « PS4 » est une marque déposée ou une marque commerciale de Sony Interactive Entertainment Inc. « PS5 » est une marque déposée ou une marque commerciale de Sony Interactive Entertainment Inc.
Dernière modification le 20 octobre 2026