Steamworks-Dokumentation
Steam-Overlay

Übersicht

Das Steam-Overlay ist eine Komponente der Steam-Nutzeroberfläche, die über nahezu jedem Spiel eingeblendet und über Steam gestartet werden kann. So können Nutzer die Freundesliste, den Webbrowser, den Chat und Zusatzinhaltskäufe im Spiel aufrufen.

Die Standardtastenkombination, mit der ein Nutzer innerhalb eines Spiels auf das Overlay zugreifen kann, lautet Umschalttaste + Tabulatortaste; sie kann jedoch vom Nutzer über das Dialogfenster "Steam" -> "Einstellungen" geändert werden.

Voraussetzungen

Ihr Spiel muss nichts Besonderes tun, damit das Overlay funktioniert, denn das Overlay ist automatisch für jedes Spiel verfügbar, das über Steam gestartet wird. Während sich Ihr Spiel noch in der Entwicklungsphase befindet und wenn sie es in einem Debugger ausführen, wird das Overlay geladen, wenn Sie SteamAPI_Init aufrufen. In diesem Fall müssen Sie sicherstellen, SteamAPI_Init aufzurufen, bevor Sie das OpenGL/D3D-Gerät initialisieren, da andernfalls die Geräteerstellung nicht eingehängt werden kann.

Das Overlay unterstützt Spiele, die DirectX 7 bis 12, OpenGL, Metal und Vulkan verwenden. In Spielen mit Software-Rasterung ist das Overlay nicht aktiv.
NOTE: The overlay is automatically disabled for 'Software' app types. If you need the overlay enabled, please Contact Support.

Aktivieren des Overlays über Ihre Anwendung

Die Steamworks-API bietet ein Set von Funktionen, mit denen Sie direkten Zugriff auf das Auslösen des Spiel-Overlays haben.

Kommunikation vom Overlay zu Ihrem Spiel

Basierend auf der Nutzeraktion im Overlay werden von Steam die folgenden Signale (Rückrufe) an Ihr Spiel gesendet:
  • GameOverlayActivated_t
    Wird übermittelt, wenn das Spiel-Overlay aktiviert oder deaktiviert wird. Das Spiel kann dies dazu verwenden, Einzelspielerspiele zu pausieren oder wiederaufzunehmen.
  • GameServerChangeRequested_t
    Wird übermittelt, wenn der Nutzer das Spiel eines Freundes auswählt, um ihm beizutreten, und enthält Details über den Spielserver, dem beigetreten werden soll.
  • GameLobbyJoinRequested_t
    Wird übermittelt, wenn der Nutzer das Spiel eines Freundes auswählt, um ihm beizutreten, und enthält Details über die Lobby, der beigetreten werden soll.

Häufig gestellte Fragen

HINWEIS: Weitere Antworten finden Sie auf der Supportwebsite für Kunden: Steam-Overlay

Frage: Warum lässt das Steam-Overlay meine Anwendung abstürzen?

Antwort: Das Steam-Overlay wird in Tausenden von Spielen verwendet und wurde daher sehr gründlich getestet und ist nur selten die Ursache eines Absturzes. Aufgrund der Art und Weise, wie es sich selbst ins Spiel einfügt, legt es jedoch oft Speicherverluste oder Speicherschäden in der Verwendung Ihrer rendernden API bloß, die sich bisher nur noch nicht auf Ihr Spiel ausgewirkt haben.

Versuchen Sie zur Diagnose von Overlay-Abstürzen (z. B. im Zusammenhang mit DirectX) herauszufinden, wie D3D einen ungültigen Status angenommen hat, indem Sie die d3d-Debugging-Laufzeit mit aktivierter Ausgabe für alle Ebenen (Info/Warnung/Fehler/Hinweis) verwenden. Dies kann einige Hinweise auf verwaiste d3d-Ressourcen liefern. Falls Sie auf diese Weise nichts finden, könnte ein allgemeineres Speicherschädigungsproblem vorliegen. Wenn diese Abstürze immer beim Herunterfahren auftreten, liegt wahrscheinlich ein Problem mit der Reihenfolge beim Herunterfahren vor, das zur Folge hat, dass das Spiel beim Herunterfahren keine Bereinigung durchführt.

Wenn die Anwendung nach dem Debugging weiterhin im Overlay abstürzt, benachrichtigen Sie uns bitte über die Steamworks-Entwicklergruppe.

Frage: Warum wird das Steam-Overlay bei meiner Anwendung nicht angezeigt?

Antwort: Stellen Sie zunächst sicher, dass Sie die oben angegebenen Voraussetzungen erfüllen. Wenn Sie die Anforderungen erfüllen und das Overlay trotzdem nicht angezeigt wird, dann stellen Sie sicher, dass Sie die Anwendung über den Steam-Client starten (entweder direkt von der Lobby oder der Schnellstartliste aus oder durch Aufrufen von SteamAPI_RestartAppIfNecessary).