Documentation Steamworks
Overlay Steam

Présentation

L'overlay Steam est un élément de l'interface d'utilisation Steam qui peut être activé par-dessus n'importe quel jeu lancé via Steam. Il permet d'accéder à la liste de contacts, au navigateur Web, au chat, et à l'achat de DLC en jeu.

La commande par défaut pour accéder à l'overlay en jeu est MAJ+TAB, mais elle est modifiable dans la boite de dialogue Steam -> Paramètres.

Conditions requises

Votre jeu n'a rien à faire de spécial pour que l'overlay fonctionne, ce dernier s'accroche automatiquement à tout jeu lancé depuis Steam ! Pendant le développement et l'exécution de votre jeu dans un débogueur, l'overlay est chargé lorsque vous appelez SteamAPI_Init. À ce titre, vous devrez vous assurer d'appeler SteamAPI_Init avant d'initialiser le périphérique OpenGL/D3D, ou l'overlay ne sera pas capable d'accrocher la création du périphérique.

L'overlay est compatible avec les jeux qui utilisent les versions 7 à 12 de DirectX, OpenGL, Metal et Vulkan. L'overlay ne sera pas actif dans les jeux rastérisés par programme.

macOS : pour que l'overlay prenne en charge la version 10.15 (Catalina), vous devez ajouter des droits à la configuration de votre build. Vous trouverez davantage de détails sur la page dédiée aux plateformes.
REMARQUE : l'overlay est automatiquement désactivé pour les applications de type logiciel. Si vous devez activer l'overlay, voici comment procéder :
  • assurez-vous que votre compte Steam possède l'autorisation de modifier les métadonnées de l'application ;
  • depuis la page d'accueil de l'application dans Steamworks, rendez-vous sur Modifier les paramètres Steamworks > onglet Installation > Installation générale ;
  • cochez la case « Activer l'overlay Steam pour l'application » ;
  • publiez.

Activer l'overlay depuis votre application

Voici un ensemble de fonctions de l'API Steamworks qui vous permettront de déclencher directement l'overlay du jeu.

Communication de l'overlay vers votre jeu

Les signaux suivants (rappels) sont envoyés depuis Steam vers votre jeu, en fonction de l'action de la personne utilisatrice dans l'overlay :
  • GameOverlayActivated_t
    Envoyé quand l'overlay du jeu s'active ou se désactive. Le jeu peut utiliser ce rappel pour mettre en pause ou reprendre le jeu dans les jeux en solo.
  • GameServerChangeRequested_t
    Envoyé quand la personne choisit de rejoindre la partie d'un de ses contacts. Contient les informations sur le serveur de jeu à rejoindre.
  • GameLobbyJoinRequested_t
    Envoyé quand la personne choisit de rejoindre la partie d'un de ses contacts. Contient les informations sur la salle d'attente (lobby) à rejoindre.

FAQ

REMARQUE : vous trouverez peut-être d'autres réponses sur le site d'assistance destiné à la clientèle. Par exemple, vous pouvez consulter cet article sur l'overlay de la communauté Steam.

Q. Pourquoi l'overlay Steam fait-il planter mon application ?

R. L'overlay Steam est utilisé dans des milliers de jeux et a fait l'objet de très nombreux tests, il est donc rarement la cause d'un plantage. Toutefois, en raison de la manière dont il s'injecte dans le jeu, il révèle souvent des fuites ou des corruptions de mémoire dans l'utilisation de votre API de rendu, qui peuvent ne pas avoir affecté l'expérience de jeu.

Pour diagnostiquer les plantages de l'overlay avec DirectX par exemple, essayez de déterminer comment D3D a rencontré des problèmes en utilisant le runtime de débogage de D3D avec toutes les options d'information (info/alerte/erreur/avertissement) activées. Ceci pourrait vous donner des indices quant aux ressources D3D orphelines. Si vous ne trouvez rien ainsi, il pourrait s'agir d'un problème de corruption de mémoire plus général. Si ces plantages ont toujours lieu au moment de l'arrêt, il s'agit probablement d'un problème d'ordre d'arrêt, le jeu n'effectuant pas de purge quand il s'arrête.

Si après débogage l'app continue à planter dans l'overlay, veuillez nous en faire part dans le groupe de développement Steamworks.

Q. Pourquoi l'overlay Steam n'apparait-il pas dans mon application ?

R. Assurez-vous d'abord que les conditions requises ci-dessus sont remplies. Si toutes les conditions sont remplies et que l'overlay n'apparait toujours pas, assurez-vous de lancer l'application via le client Steam, soit directement depuis la salle d'attente ou la liste de lancement rapide, soit en appelant l'API SteamAPI_RestartAppIfNecessary.

Q. Mon jeu utilise D3D12 sur Windows 7, et l'overlay Steam ne fonctionne pas. Pourquoi ?

R. Veuillez consulter ce document Microsoft qui décrit comment ajouter la prise en charge de l'overlay Steam.