Configuration Playfab Branche Dev et Prod

Ken GUILLEUX 0 Reputation points
2026-09-01T08:17:05.19+00:00

Bonjour,

Je travaille actuellement sur un projet de jeu multijoueur développé avec Unity, pour lequel nous utilisons PlayFab afin de gérer notamment les données des joueurs, le matchmaking et le backend via CloudScript.

Nous sommes actuellement en train de mettre en place notre workflow de développement et nous avons une question concernant la gestion des environnements et des versions de CloudScript.

Nous travaillons avec plusieurs branches Git (par exemple develop, staging et main) et nous aimerions permettre aux développeurs de modifier et tester le CloudScript sans que ces modifications puissent avoir un impact sur les joueurs utilisant une version actuellement en production.

Par exemple, nous souhaiterions avoir quelque chose comme :

  • Production → version stable de CloudScript utilisée par les joueurs.
  • Staging / QA → version permettant de tester les nouvelles fonctionnalités.
  • Development → environnement permettant aux développeurs de modifier librement le CloudScript.

Notre principale question est donc la suivante :

Quelle est la meilleure manière de gérer plusieurs environnements/branches de CloudScript avec PlayFab afin d'isoler complètement le développement de la production ?

Est-il recommandé de créer plusieurs PlayFab Titles (par exemple un Title Development, un Title Staging et un Title Production), ou existe-t-il une meilleure solution permettant de gérer plusieurs environnements au sein d'un même Title ?

Nous avons également vu que PlayFab permet de créer plusieurs révisions de CloudScript et de sélectionner la révision publiée/live. Cependant, nous ne savons pas si ce système est prévu pour gérer ce type de workflow avec plusieurs branches Git et plusieurs versions de notre jeu.

Enfin, si nous utilisons GitHub pour gérer notre CloudScript, quelle serait selon vous la meilleure stratégie pour mettre en place un workflow

tout en garantissant qu'une modification poussée par un développeur ne puisse jamais modifier accidentellement le CloudScript utilisé par les joueurs en production ?

Merci d'avance pour votre aide et vos recommandations concernant l'architecture recommandée pour ce type de projet.

Developer technologies | Visual Studio | Other
Developer technologies | Visual Studio | Other

A family of Microsoft suites of integrated development tools for building applications for Windows, the web, mobile devices and many other platforms. Miscellaneous topics that do not fit into specific categories.


2 answers

Sort by: Most helpful
  1. Janith Biman 0 Reputation points
    2026-09-01T08:33:04.6666667+00:00

    Bonjour Ken,

    La recommandation officielle et la meilleure pratique de l'industrie pour gérer plusieurs environnements avec PlayFab est de créer des PlayFab Titles distincts au sein du même PlayFab Studio.

    Voici pourquoi et comment structurer votre architecture :


    1. Pourquoi utiliser plusieurs Titles (Dev / Staging / Prod) ?

    • Isolation complète des données : L'économie du jeu (catalogs, drop tables), les données joueurs, les classements (leaderboards) et les monnaies virtuelles sont strictement séparés. Les données de test de votre équipe de dev ne pollueront jamais la base de joueurs réels.
    • Sécurité & Contrôle d'accès (RBAC) : Vous pouvez limiter les permissions sur le Title de Production uniquement aux leads/admins, évitant toute erreur de manipulation ou déploiement accidentel.
    • Limites de quotas et coûts : Des tests de charge ou du profiling en environnement de test n'affecteront pas les limites/quotas de votre serveur de production.

    2. Comment structurer les Titles & Unity

    1. Dans Game Manager :
      • Créez un Studio unique (ex. MonStudio).
      • Créez 3 Titles distincts sous ce studio :
        • MonJeu - Dev (Title ID: XXXX1)
        • MonJeu - Staging / QA (Title ID: XXXX2)
        • MonJeu - Prod (Title ID: XXXX3)
    2. Côté Unity :
      • Dans votre projet Unity, configurez le PlayFabSettings.TitleId dynamiquement selon la configuration de build ou via des ScriptableObjects / symboles de préprocesseur (#if DEVELOPMENT_BUILD, etc.).

    3. Gestion de CloudScript & CI/CD avec GitHub

    Concernant les révisions de CloudScript (Legacy ou Azure Functions) :

    • Si vous utilisez CloudScript Legacy (JavaScript) :
      • Bien que PlayFab permette de définir une version "Live", cela reste limité au niveau d'un seul Title.
      • Il est fortement recommandé d'utiliser l'API Admin de PlayFab (UpdateCloudScript) dans une GitHub Action :
        • Branche develop $\rightarrow$ Déploie automatiquement vers le Title Dev.
        • Branche staging $\rightarrow$ Déploie vers le Title Staging.
        • Branche main (ou release tag) $\rightarrow$ Déploie vers le Title Prod avec approbation manuelle requise.
    • Si vous utilisez CloudScript avec Azure Functions (Recommandé par PlayFab) :
      • Déployez 3 Azure Function Apps distinctes (une par environnement) reliées respectivement à chaque Title PlayFab via votre pipeline CI/CD GitHub Actions.

    En résumé

    • Architecture recommandée : 1 Studio $\rightarrow$ 3 PlayFab Titles distincts (Dev, Staging, Prod).
    • GitHub CI/CD : Chaque branche Git déploie le CloudScript vers son Title PlayFab respectif via des secrets GitHub (PLAYFAB_DEV_SECRET_KEY, PLAYFAB_PROD_SECRET_KEY, etc.).

    J'espère que cela vous aidera à mettre en place un pipeline sécurisé et robuste pour votre jeu !

    Was this answer helpful?

    1 person found this answer helpful.

  2. Deleted

    This answer has been deleted due to a violation of our Code of Conduct. The answer was manually reported or identified through automated detection before action was taken. Please refer to our Code of Conduct for more information.


    Comments have been turned off. Learn more

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.