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 o Painel Steam funcionar; 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.

macOS: a compatibilidade do painel com a versão 10.15 (Catalina) requer a adição de direitos à configuração da versão. Detalhes estão disponíveis na documentação sobre plataformas.
AVISO: o painel é desativado automaticamente para aplicativos do tipo "Software". Caso precise do painel ativado:
  • Confirme que a sua conta Steam possui a permissão "Editar metadados do aplicativo".
  • Acesse a página inicial do aplicativo > "Editar configurações do Steamworks" > aba "Instalação" > "Instalação: geral".
  • Assinale a caixa "Ativar Painel Steam para o aplicativo".
  • Publique as alterações.

Ativação do painel pelo aplicativo

Há um conjunto de funções na API do Steamworks que permitem ativar o Painel Steam pelo jogo.

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 disponíveis 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, portanto ele já foi testado de forma extensa e raramente causa travamentos. Contudo, devido à forma em que é injetado ao jogo, ele costuma expor vazamentos de memória ou corrupção de memória no uso da sua API de renderização que não impactavam 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 corrupção 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.

Caso o aplicativo continue 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 você 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.

O meu jogo usa a API D3D12 no Windows 7, mas o Painel Steam não funciona. Por quê?

Para mais informações sobre como fazer o Painel Steam funcionar, consulte a documentação da Microsoft (em inglês).