[Unity]Implementação das Conquistas do Steam

この記事は約7分で読めます。
スポンサーリンク

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.

Releases · rlabrecque/Steamworks.NET
Steamworks wrapper for Unity / C#. Contribute to rlabrecque/Steamworks.NET development by creating an account on GitHub.

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

[Unity] Steam実績をStatsを使用しないでシンプルに実装する (2024.04)
【Unity】Steamで実績を実装する方法その3~実績解除を実装する~
前書きSteamの実績を実装する方法はいろいろなサイトに載っているのですが、今後も同様の作業をすると思うので自分なりにかみ砕いてSteamの実績を導入する方法を残しておこうと思います。今回は前回設定したSteamworksの実績をソースコー...

コメント

タイトルとURLをコピーしました