Qu’est-ce que MicrosoftGame.config ?
Chaque jeu distribué via le Microsoft Store doit inclure un manifeste qui déclare au minimum l’identité du titre, le nom de l’éditeur et un ensemble d’éléments visuels de shell propres au titre (chaînes, icônes et images) utilisés pour afficher le nom et la représentation graphique du jeu dans le Microsoft Store et dans le shell (sur console), ainsi que dans le menu Démarrer, la barre des tâches et d’autres emplacements du shell Windows (sur PC). En outre, un jeu peut implémenter des fonctionnalités facultatives telles que le contenu téléchargeable (DLC), qui reposent sur des valeurs de configuration également stockées dans le manifeste du jeu. Le nom du fichier manifeste est MicrosoftGame.config.Pourquoi créer un nouveau schéma de manifeste ?
Chaque package du Microsoft Store contient un manifeste appelé AppXManifest.xml. Son schéma a évolué au fil des années pour prendre en charge un large éventail de fonctionnalités et de scénarios d’application. Avec MicrosoftGame.config, les développeurs de jeux utilisent un schéma de manifeste centré sur le jeu plus simple, plus accessible, moins sujet aux erreurs et plus productif. Lorsque le développeur empaquette ou inscrit un jeu, les outils valident le contenu de MicrosoftGame.config et génèrent un fichier AppXManifest.xml bien formé pour le compte du développeur. L’AppXManifest généré est inclus dans le package obtenu.
Depuis la version de mars 2022 du Microsoft Game Development Kit (GDK), la valeur Game configVersion est passée de 0 à 1 pour les nouveaux titres créés avec ce Microsoft Game Development Kit (GDK) et les versions ultérieures. Les titres existants peuvent adopter cette mise à jour de version pour tirer parti de ces améliorations. Pour plus d’informations, consultez Référence de MicrosoftGame.config (exemple de MicrosoftGame.config et schéma).
Documentation disponible
Dans le fichier de documentation hors connexion du Microsoft Game Development Kit (GDK) (GDK.chm), vous trouverez de la documentation sur MicrosoftGame.config aux emplacements indiqués dans le tableau suivant.Création de MicrosoftGame.config
Lorsque vous créez un projet pour la plateforme Gaming.Desktop.x64, Gaming.Xbox.XboxOne.x64 ou Gaming.Xbox.Scarlett.x64, un fichier MicrosoftGameConfig.mgc est associé à votre projet dans Visual Studio. Il contient des valeurs par défaut qui permettent de commencer le développement sur PC et XBOX sans configuration supplémentaire, jusqu’à ce que vous commenciez à utiliser des fonctionnalités du Gaming Runtime, du Microsoft Store et de l’identité du titre. Lors de la génération de votre projet, le fichier MicrosoftGameConfig.mgc est renommé en MicrosoftGame.config lorsqu’il est copié dans le répertoire de sortie de votre projet. Voici un exemple de ce fichier MicrosoftGameConfig.mgc par défaut, pour XBOX.Si vous ajoutez manuellement un fichier Microsoftgame.config à votre projet, vous devez veiller à modifier les propriétés du fichier pour qu’il soit de type
copy.Ajout manuel d’un fichier MicrosoftGame.config
Un ou plusieurs fichiers MicrosoftGame.config peuvent également être ajoutés manuellement à votre projet. L’ajout manuel d’un fichier peut se faire de deux manières :- En définissant les propriétés appropriées sur un fichier existant afin que Visual Studio le reconnaisse comme un fichier MicrosoftGame.config.
- En utilisant un modèle d’élément fourni avec le système de projet C++ du Microsoft Game Development Kit (GDK).
- Définissez votre configuration sur la plateforme « Gaming.Xbox.XboxOne.x64 », « Gaming.Xbox.Scarlett.x64 » ou « Gaming.Desktop.x64 ».
- Ajoutez le fichier MicrosoftGame.config de votre jeu en tant que fichier dans votre projet Visual Studio.
- Dans les propriétés du fichier MicrosoftGame.config, définissez Type d’élément sur Microsoft Game Config, comme illustré ci-dessous.

- Cliquez avec le bouton droit sur un projet et sélectionnez Ajouter->Nouvel élément.
- Le modèle MicrosoftGameConfig.mgc se trouve dans le nœud Visual C++->Gaming->Microsoft Game Development Kit->Edition de l’arborescence, comme illustré ci-dessous.

Propriété de projet Visual Studio pour MicrosoftGame.config
Chaque fois qu’un fichier MicrosoftGameConfig.mgc est ajouté à un projet, que ce soit automatiquement lors de la création du projet ou manuellement, une propriété (MGCCompile) est ajoutée à votre projet Visual Studio. La propriété MGCCompile est utilisée par le système de projet pour automatiser les opérations suivantes :
- Génération d’un fichier .pri si vous disposez de ressources de chaîne localisées
- Renommage du fichier MicrosoftGameConfig.mgc en MicrosoftGame.config si nécessaire
- Copie de votre MicrosoftGame.config dans votre dossier de sortie
- Inscription de votre MicrosoftGame.config après la génération
- Lancement de votre jeu avec identité dans le débogueur
Gestion de plusieurs fichiers MicrosoftGameConfig.mgc dans Visual Studio et MSBuild
Un projet Visual Studio du Microsoft Game Development Kit (GDK) peut être associé à plusieurs fichiers MicrosoftGameConfig.mgc. Il est courant d’utiliser différents fichiers MicrosoftGameConfig.mgc pour différentes configurations de build, ou pour les builds XBOX et PC, par exemple. Si vous utilisiez auparavant une logique de build personnalisée pour gérer plusieurs fichiers MicrosoftGameConfig.mgc, ce scénario est désormais pris en charge directement par le système de projet. Un fichier MicrosoftGameConfig.mgc peut être affecté à des configurations de build individuelles de deux manières. Premièrement, la fenêtre d’outil XBOX Gaming Project Control prend en charge la gestion de plusieurs fichiers MicrosoftGameConfig.mgc (rubrique sous NDA), comme illustré ci-dessous.
DefaultApplyTo de la propriété MGCCompile pour spécifier un fichier MicrosoftGameConfig.mgc par défaut. Ce fichier par défaut sera utilisé pour toutes les configurations, sauf remplacement explicite. Utilisez l’élément ApplyTo de la propriété MGCCompile pour affecter un fichier de configuration à une configuration de build particulière.
L’extrait de fichier de projet suivant spécifie MicrosoftGameConfig_dev.mgc comme fichier de configuration par défaut. MicrosoftGameConfig_dev.mgc sera utilisé pour toutes les configurations de build autres que Release, pour laquelle un remplacement (MicrosoftGameConfig_release.mgc) a été spécifié.
Prise en charge d’IntelliSense pour MicrosoftGame.config
La modification d’un fichier MicrosoftGame.config dans Visual Studio prend désormais en charge les fonctionnalités IntelliSense. Cela fournit des informations supplémentaires, comme le montrent les deux captures d’écran suivantes. Les noms d’éléments valides sont automatiquement listés lors de la création d’un élément.

Configuration requise de plateforme pour MicrosoftGame.config
Lorsque vous créez un fichier MicrosoftGame.config pour votre titre, vous devez en créer un pour chaque plateforme du Microsoft Game Development Kit (GDK) (Gaming.Xbox.XboxOne.x64, Gaming.Xbox.Scarlett.x64 et Gaming.Desktop.x64). Cela est nécessaire pour garantir que les valeurs d’éléments stockées dans MicrosoftGame.config correspondent un à un à la plateforme pour laquelle votre exécutable est généré. Cela est principalement spécifié par l’attributTargetDeviceFamily de l’élément Executable dans le fichier MicrosoftGame.config. Pour plus d’informations, consultez la section Détails supplémentaires sur les éléments de la rubrique de référence.
Lors de son lancement, votre titre se comporte différemment selon la configuration requise de plateforme, l’appareil sur lequel il est lancé et le type d’exécutable, comme indiqué dans le tableau suivant.
Dans le scénario où un titre XBOX Series X|S est lancé sur un kit de développement XBOX Series X sans MicrosoftGame.config, il réutilise l’état existant de la machine virtuelle du Microsoft Game Development Kit (GDK), le cas échéant. Par exemple, si un titre Microsoft Game Development Kit (GDK) en rétrocompatibilité (XBOX One sur XBOX Series X|S) a été lancé avant la tentative de lancement d’un titre natif XBOX Series X|S, ce dernier s’exécutera dans cette même machine virtuelle de rétrocompatibilité du Microsoft Game Development Kit (GDK). Si vous rencontrez ce scénario, nous vous recommandons d’utiliser un MicrosoftGame.config avec TargetDeviceFamily configuré pour indiquer l’intention appropriée. Les titres ERA s’exécutent dans un état de machine virtuelle distinct et n’influencent donc pas le comportement de la machine virtuelle du Microsoft Game Development Kit (GDK) dans ce scénario.
Création et modification d’un MicrosoftGame.config en dehors de Visual Studio
Comme indiqué ci-dessus, Visual Studio offre de nombreuses façons de créer et de gérer le fichier MicrosoftGame.config de votre titre. Outre la création et la modification dans Visual Studio, il existe un outil autonome qui permet de créer et de rédiger directement le fichier MicrosoftGame.config. L’Éditeur MicrosoftGame.config est un outil d’interface utilisateur qui facilite la création et la modification des fichiers .config. Cet éditeur comprend également des connexions aux informations de votre titre dans Partner Center afin de récupérer et de synchroniser automatiquement des informations telles que vos TitleId, MSAAppId et StoreId, au moyen d’un Assistant d’association au Store. Vos commentaires sont les bienvenus : utilisez l’outil de suggestion de l’éditeur pour nous faire part de votre avis.Lancement d’un jeu sans MicrosoftGame.config
Dans le Microsoft Game Development Kit (GDK), vous pouvez lancer un jeu PC ou un jeu XBOX sans fichier MicrosoftGame.config. Cela est autorisé pour les premières phases de développement, avant la création d’un MicrosoftGame.config, et vise à offrir de la flexibilité quant au moment où vous souhaitez adopter les fonctionnalités du Gaming Runtime, du Microsoft Store et de l’identité du titre. Pour livrer un titre avec le Microsoft Game Development Kit (GDK), un MicrosoftGame.config est requis afin de créer le package de votre titre avant la soumission au Microsoft Store. Il est recommandé d’adopter et de configurer le MicrosoftGame.config de votre titre dès que vous commencez à développer des fonctionnalités nécessitant le Gaming Runtime, les services XBOX, le Microsoft Store ou l’identité du titre. Les jeux PC qui n’ont pas de MicrosoftGame.config peuvent être générés et lancés en double-cliquant sur l’exécutable généré. Ils s’exécutent sans intégration des fonctionnalités du Gaming Runtime. Pour la prise en charge des fonctionnalités du Gaming Runtime, de l’identité du titre, de l’empaquetage MSIXVC et de la possibilité de soumettre au Microsoft Store, un MicrosoftGame.config est requis. Les jeux XBOX qui n’ont pas de MicrosoftGame.config peuvent utiliser les outils du GDK pour déployer des builds de fichiers libres, les lancer, les déboguer et utiliser d’emblée un sous-ensemble des fonctionnalités du Microsoft Game Development Kit (GDK). Pour la prise en charge complète des fonctionnalités du Microsoft Game Development Kit (GDK), de l’identité du titre, de l’empaquetage XVC et de la possibilité de soumettre au Microsoft Store, un MicrosoftGame.config est requis. Pour lancer votre titre sur XBOX sans MicrosoftGame.config, vous pouvez :- Utiliser la commande de lancement de xbapp.exe (rubrique sous NDA).
- Utiliser la fonctionnalité de déploiement/lancement de XBOX Manager.
- Lancer le titre à partir de Developer Home (Dev Home) sur votre XBOX.
Lancement d’un jeu Win32
Un jeu PC Win32 qui n’utilise ni le Gaming Runtime ni les services cloud de jeu peut être lancé et/ou débogué comme n’importe quel autre exécutable Windows. Il suffit de cliquer sur l’exécutable du jeu avec la souris ou d’exécuter directement l’exécutable dans une fenêtre d’invite de commandes pour que le processus du jeu soit créé. Les services de jeu effectuent des tâches pour le compte d’un jeu. Pour utiliser le Gaming Runtime ou les services cloud de jeu, un jeu doit fournir des données contextuelles. Par exemple, un jeu peut transmettre aux services XBOX un identificateur unique appelé identité du titre, qui permet au service d’identifier le jeu qui accorde des succès aux joueurs. Les informations contextuelles telles que l’identité du titre peuvent être stockées de manière persistante dans le référentiel d’applications Windows via un processus appelé inscription. C’est également par l’inscription qu’un jeu spécifie les chaînes et les logos que le shell Windows doit utiliser pour représenter le jeu dans la liste des applications du menu Démarrer. Grâce à une action appelée lancement d’application (app-launch), un processus de jeu est créé et le jeu obtient l’accès à ses informations contextuelles persistantes à partir du référentiel d’applications. Si vous ne lancez pas le jeu par app-launch, un processus est créé pour exécuter le jeu, mais son contexte n’est pas disponible. Cela empêche le jeu d’utiliser correctement le Gaming Runtime et les services cloud de jeu. Vous pouvez lancer votre jeu par app-launch de l’une des manières suivantes.- Menu Démarrer (liste des applications, vignette d’application)
- Recherche dans la barre des tâches (liste des résultats de recherche/volet de détails)
- Commande de lancement de wdapp.exe
- Windows Device Portal (WDP) : Installed Apps > Start
Débogage d’un jeu Win32
Dans le Microsoft Game Development Kit (GDK), les jeux PC Win32 passent par les chemins d’inscription et de lancement d’application lorsque vous appuyez sur F5 pour générer et exécuter. Ce flux de travail est ainsi aligné sur la norme qui existe sur XBOX. En ce qui concerne Déboguer le package d’application installé sur PC Win32, la fonctionnalité Déboguer le package d’application installé de Visual Studio n’ajoute pas votre jeu à sa liste de packages pouvant être débogués si le manifeste de votre jeu s’appelle MicrosoftGame.config. Déboguer le package d’application installé ne reconnaît votre jeu comme package que si un fichier nommé AppXManifest.xml est présent dans le dossier de votre exécutable. Pour contourner ce problème, vous pouvez créer unAppXManifest simple contenant des valeurs valides pour votre jeu et l’enregistrer manuellement dans le dossier contenant votre exécutable et MicrosoftGame.config.
