Documentação do Steamworks
Painel Steam

Visão geral

O painel Steam é uma parte da interface de usuário do Steam que pode se sobrepor à tela de qualquer jogo iniciado pelo Steam, permitindo acesso à lista de amigos, navegador web, conversa e aquisição de conteúdo adicional sem sair do jogo.

O atalho padrão para acessar o painel é SHIFT+TAB, que pode ser alterado por meio do menu Steam->Configurações/Preferências.

Requisitos

O seu jogo não precisa fazer nada de especial para realizar a sobreposição do painel Steam; ele é aplicado a qualquer jogo iniciado pelo Steam! Durante o desenvolvimento e ao executar o jogo por meio de um depurador, o painel é carregado ao chamar a função SteamAPI_Init. Dessa forma, não se esqueça de chamar a função SteamAPI_Init antes de inicializar o dispositivo OpenGL/D3D, caso contrário o painel não conseguirá se vincular à criação de dispositivo.

O painel é compatível com jogos que usam DirectX 7 a 12, OpenGL, Metal e Vulkan. O painel não estará ativo em jogos renderizados por software.
AVISO: O painel é desativado automaticamente para aplicativos do tipo "Software".

Ativação do painel pelo aplicativo

Há um conjunto de funções na API do Steamworks que permitem acesso direto à ativação do painel Steam.

Comunicação do painel com o jogo

Os sinais (retornos de chamada) a seguir são disparados do Steam ao jogo com base na ação do usuário no painel:
  • GameOverlayActivated_t
    Disparado quando o painel é ativado ou desativado. O jogo pode usá-lo para pausar ou retomar jogos para um jogador;
  • GameServerChangeRequested_t
    Disparado quando o usuário seleciona o jogo de um amigo para entrar; conterá detalhes do servidor no qual entrar;
  • GameLobbyJoinRequested_t
    Disparado quando o usuário seleciona o jogo de um amigo para entrar; conterá detalhes da sala na qual entrar.

Perguntas frequentes

AVISO: Há mais respostas em tópicos do Suporte Steam, como: Painel da Comunidade Steam.

Por que o painel Steam está fazendo o aplicativo travar?

O painel Steam é usado em milhares de jogos e por isso, é minuciosamente testado e raramente causa travamentos. Contudo, devido à forma como é injetado ao jogo, ele costuma expor vazamentos de memória ou corrompimento de memória no uso da sua API de renderização que poderiam não ter impactado a jogabilidade.

Para diagnosticar travamentos do painel com DirectX, por exemplo, tente determinar como o D3D alcançou um estado de erro usando o depurador de tempo de execução do d3d com todos os níveis de relatório (info/warning/error/notice) ativados. O depurador pode indicar recursos d3d órfãos. Se não encontrar nada dessa forma, pode haver um problema de corrompimento de memória mais generalizado. Se o travamento sempre ocorrer no encerramento, possivelmente é um problema com a ordem de encerramentos, impedindo que o jogo seja encerrado corretamente.

Se o aplicativo continua travando com o painel depois de depurá-lo, entre em contato conosco pelo grupo de desenvolvedores Steamworks.

Por que o painel Steam não aparece no aplicativo?

Primeiro, confirme que atende aos Requisitos acima. Se atender e mesmo assim o painel não aparecer, confirme que está iniciando o aplicativo pelo cliente Steam, seja diretamente pela biblioteca ou por uma lista de salas/início rápido, ou está chamando a função SteamAPI_RestartAppIfNecessary.