Steamworks-dokumentation
Steam-overlay

Oversigt

Steam-overlayet er en del af Steam-brugergrænsefladen, som kan aktiveres oven på næsten ethvert spil, der startes via Steam. Det giver brugeren adgang til vennelisten, webbrowseren, chatten og til at købe DLC i spillet.

Standardgenvejstasten, som giver brugeren adgang til overlayet i et spil, er SHIFT+TAB, men brugeren kan ændre den i Steam -> dialogboksen "Indstillinger".

Krav

Dit spil behøver ikke at gøre noget særligt, for at overlayet fungerer. Det er automatisk tilgængeligt i spil, der startes fra Steam. Mens spillet er under udvikling, og du kører det i et fejlfindingsprogram, indlæses overlayet, når du kalder SteamAPI_Init. Som sådan skal du sørge for at kalde SteamAPI_Init, inden du initialiserer OpenGL/D3D-enheden. Ellers fungerer oprettelsen af enheden ikke.

Overlayet understøtter spil, der anvender DirectX 7-12, OpenGL, Metal og Vulkan. Overlayet vil ikke være aktivt i spil med softwarerasterisering.

macOS: Overlay-understøttelse til 10.15 (Catalina) kræver tilføjelse af rettigheder til din build-konfiguration. Detaljer fremgår på siden Platforme.
BEMÆRK: Overlayet er automatisk deaktiveret for apptypen "Software". Hvis du har brug for det, kan du aktivere overlayet:
  • Kontrollér, at din Steam-konto har tilladelsen "Rediger app-metadata"
  • Gå fra applandingssiden til "Rediger Steamworks-indstillinger" > fanen "Installation" > Generel installation
  • Markér feltet "Slå Steam-overlay til" for applikationen
  • Udgiv

Aktivering af overlayet fra din app

Der er et sæt funktioner i Steamworks-API'en, som giver dig direkte adgang til at aktivere spil-overlayet.

Kommunikation fra overlayet til dit spil

Følgende signaler (callbacks) sendes fra Steam til dit spil, afhængigt af brugerhandlingen i overlayet:
  • GameOverlayActivated_t
    Sendes, når spil-overlayet aktiveres eller deaktiveres. Spillet kan bruge dette til at pause eller genoptage singleplayer-spil.
  • GameServerChangeRequested_t
    Sendes, når brugeren vælger at tilslutte sig en vens spil. Indeholder detaljer om den spilserver, der skal tilsluttes til.
  • GameLobbyJoinRequested_t
    Sendes, når brugeren vælger at tilslutte sig en vens spil. Indeholder detaljer om den lobby, der skal tilsluttes til.

Ofte stillede spørgsmål

BEMÆRK: Du kan finde yderligere svar på den kunderelaterede supportside, for eksempel dette emne: Steam-fællesskabsoverlayet åbner ikke.

Sp. Hvorfor crasher Steam-overlayet min app?

Sv. Steam-overlayet bruges i tusindvis af spil, og som sådan er det blevet grundigt testet og er sjældent årsag til nedbrud. Den måde, det indsættes i spillet, afslører dog ofte hukommelsesfejl eller beskadigelser i hukommelsen i brugen af dit gengivelses-API, som måske ikke har kunnet mærkes i gameplayet.

For at diagnosticere overlay-nedbrud med DirectX for eksempel skal du prøve at finde ud af, hvordan D3D kom i en ugyldig tilstand ved at bruge D3D-fejlfindingstidspunktet med alle niveauer (information/advarsel/fejl/besked) slået til. Dette kan give dig et praj om uafhængige D3D-resurser. Hvis du ikke finder noget på denne måde, kan det skyldes et mere generelt problem med beskadiget hukommelse. Hvis nedbruddene altid sker ved lukning, er det sandsynligvis et problem med lukningssekvensen, hvor oprydningen ikke sker korrekt.

Hvis appen stadig crasher i overlayet efter fejlfinding, bedes du give os besked i Steamworks-udviklingsgruppen.

Sp. Hvorfor vises Steam-overlayet ikke i min app?

Sv. Kontrollér først, at kravene ovenfor er opfyldt. Hvis kravene er opfyldt, og det stadig ikke vises, skal du sikre, at du starter appen gennem Steam-klienten, enten direkte fra lobbyen/hurtigstartlisten eller ved at kalde SteamAPI_RestartAppIfNecessary.

Sp. Mit spil bruger D12onWin7, og Steam-overlayet fungerer ikke. Hvorfor?

Sv. Læs, hvordan du tilføjer understøttelse af Steam-overlayet, i dette Microsoft-dokument.