无法使用 Steamworks.NET 获取 Unity 游戏的成就数

Can't get the number of achievements from Unity game using Steamworks.NET

我正要在 Steam 上发布一款新游戏。这是一款 Unity 游戏,我使用 Steamworks.NET 从 Steam 获取成就。

我使用以下代码:

if (SteamManager.Initialized) {
    string name = SteamFriends.GetPersonaName ();
    Debug.Log (name+" - "+SteamUser.GetSteamID() );

    m_GameID = new CGameID (SteamUtils.GetAppID ());
    Debug.Log ("number of achievements: " + SteamUserStats.GetNumAchievements ());
    Debug.Log ("gameID: " + m_GameID);

} else {
    Debug.Log ("Steam not initialized");
}

m_GameID 设置正确(我使用 steam_appid.txt 文件)。

我在所有 Steam 游戏中都使用它,但出于某种原因 SteamUserStats.GetNumAchievements () 总是 returns 0.

我在Steam上发布了成就,但仍然不知道为什么会这样。

我该如何纠正?

我发现了问题。

我只需要在更新方法中调用 SteamUserStats.RequestCurrentStats() 即可。它现在正在工作。