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.
NOTE: The overlay is automatically disabled for 'Software' app types. If you need the overlay enabled, please Contact Support.

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.