Coisas que eu quero fazer
Implementaremos as conquistas do Steam.
premissa
Isso pressupõe que você já tenha obtido o ID do aplicativo criado com o SteamWorks (a página de configurações do aplicativo é exibida; a página da loja não precisa ser publicada).
trabalhar
Instalando o Steamworks.NET
Faça o download do Steamworks.NET na página a seguir. No momento da redação deste artigo, a versão mais recente era a 2025.162.1.
O arquivo para download é o .unitypackage localizado na pasta Assets.

No menu do Unity Editor, selecione Assets → Import Package → Custom Package… .

Uma caixa de diálogo para seleção de arquivos será exibida; selecione o arquivo .unitypackage baixado.
Após aguardar alguns instantes, a caixa de diálogo para seleção do arquivo de importação será exibida; clique em Importar.
Os dois itens a seguir serão adicionados à pasta Assets:

Steamworks.NET está sob a licença MIT. Por favor, preste atenção ao EULA (Contrato de Licença de Usuário Final).
O exemplo Steamworks.NET não funcionou em conjunto com a versão 2025.162.1.
(Vai funcionar se você corrigir, mas acho que não precisa se preocupar com isso.)
Configurações do ID do aplicativo
Para desenvolvimento
Crie um arquivo de texto chamado steam_appid.txt
O arquivo deve conter apenas o AppID e ser salvo.
O ID do aplicativo é o número mostrado abaixo.

Coloque o arquivo steam_appid.txt criado no diretório raiz do seu projeto Unity (a pasta que contém os arquivos *.sln).
Após inserir (ou atualizar) o arquivo steam_appid.txt, reinicie o editor.
Se você estiver usando o programa após a compilação, em vez de usá-lo diretamente do editor, coloque os arquivos acima na pasta que contém o arquivo executável compilado.
Produto
Para o produto, exclua o arquivo steam_appid.txt.
Abra o arquivo Assets\Scripts\Steamworks.NET\SteamManager.cs.
Substitua AppId_t.Invalid por (AppId_t)AppID na linha seguinte. Exemplo: (AppId_t)480
if (SteamAPI.RestartAppIfNecessary(AppId_t.Invalid)) {Configurações do SteamWorks
Abra a página do aplicativo desejado e, em seguida, abra a página de conquistas.

Clique na nova conquista para defini-la. (Não é possível definir o ícone de conquista ou o ícone de conquista não alcançada na primeira vez. Salve o jogo primeiro e depois defina-os.)
Os exemplos apresentados aqui não utilizam valores.
Nome da API: Um ID especificado pela aplicação. Deve ser único.
Progresso: Definido como Nenhum
Nome de exibição: O nome da conquista exibido ao usuário.
Descrição: Uma descrição das conquistas exibida ao usuário.
Ocultar?: Indica se esta informação deve ser exibida ao usuário quando a meta não for atingida.
Depois de adicionar as conquistas necessárias, vá para a aba Publicar, clique em Preparar para Publicar e, em seguida, em Publicar no Steam .

implementação
A conquista pode ser desbloqueada usando o seguinte código. Substitua ACHIEVEMENT_ID pelo nome da API que você definiu no SteamWorks.
if (SteamManager.Initialized) {
SteamUserStats.SetAchievement("ACHIEVEMENT_ID");
SteamUserStats.StoreStats();
}Isso conclui a implementação do desbloqueio de conquistas.
Chamar o método SteamManager.Initialized é obrigatório.
É um pouco confuso, mas SteamManager.Initialized não apenas verifica se a inicialização foi concluída; ele também cria uma instância.
bônus
Verificando o ID do aplicativo iniciado
Verifique se o AppID que você definiu em steam_appid.txt ou similar está funcionando corretamente.
Clique com o botão direito do mouse no Steam e abra o console.

Inicie o aplicativo desejado.
Você deve conseguir encontrar o AppID consultando o registro abaixo.
Aliás, o AppID 480 é um ID de teste, portanto não está configurado corretamente.
Processo do jogo atualizado: AppID 480 C:\Program Files\Unity\Hub\Editor\2021.3.44f1\Editor\Unity.exe・・・・・
Sites que utilizei como referência




コメント