Steam Achievements not working

Hello!
I looked for solutions but did not find anything, here is my problem:
I have updated the steam_appid.txt to my game id (my game is not published yet). I also published the achievemnents online as many mentioned that this was their problem. But I have no idea what I am doing wrong. In steam it still says that I am playing Spacewar and not my game…
Here is the code I use, I created a script as a pipe:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Steamworks;

public class Steam_Events : MonoBehaviour {

    protected Callback<GameOverlayActivated_t> m_GameOverlayActivated;
    // Use this for initialization
    void Start()
    {
        if (SteamManager.Initialized)
        {
            Debug.LogWarning("Loaded SteamManager!");
        }
    }

    private void OnEnable()
    {
        if (SteamManager.Initialized)
        {
            m_GameOverlayActivated = Callback<GameOverlayActivated_t>.Create(OnGameOverlayActivated);
        }
    }
    private void OnGameOverlayActivated(GameOverlayActivated_t pCallback)
    {
        if (pCallback.m_bActive != 0)
        {
            Debug.Log("Steam Overlay has been activated");
            Time.timeScale = 0;
        }
        else
        {
            Debug.Log("Steam Overlay has been closed");
            Time.timeScale = 1;
        }
    }

    static public void UnlockAchive(string achievement)
    {
        if (SteamManager.Initialized)
        {
            bool Check_it;
            SteamUserStats.SetAchievement(achievement);
            Debug.Log("Achievement1: " + achievement + SteamUserStats.GetAchievement(achievement, out Check_it));
            StoreStats();
        }
    }

    static public void StoreStats()
    {
        SteamUserStats.StoreStats();
    }

    static public void Reset()
    {
        SteamUserStats.ResetAllStats(true);
    }

    static public float GetStats(string StatusName)
    {
        float Stats;
        SteamUserStats.GetStat(StatusName, out Stats);
        return Stats;
    }

    // Update is called once per frame
    void Update () {
		
	}
}

And this code to call the script:

 Steam_Events.UnlockAchive("NEW_ACHIEVEMENT_1_1");

What am I doing wrong?

Necroing this for anyone else running into achievement problems. I don’t think this would solve OP’s problem with his game not showing up but it would at least solve the achievement portion.

I couldn’t get achievements working until I started copying and pasting parts of the example code that didn’t seem necessary at first. Seems like you need the callback for it to work even if don’t do anything with the callback. I believe this is the bare minimum code needed:

	using System.Collections;
	using System.Collections.Generic;
	using UnityEngine;
	using Steamworks;
	
	public class Steam_Events : MonoBehaviour 
	{
	
		protected Callback<UserAchievementStored_t> m_UserAchievementStored;
		
		void OnEnable() 
		{
			if (!SteamManager.Initialized)
				return;
			m_UserAchievementStored = Callback<UserAchievementStored_t>.Create(OnAchievementStored);
			SteamUserStats.SetAchievement("NEW_ACHIEVEMENT_1_1");
			SteamUserStats.StoreStats();
		}
		
		void OnAchievementStored (UserAchievementStored_t pCallback)
		{
			
		}
	}

Other than that just make sure everything else is properly setup. The achievement has to be published in Steamworks and you need to be logged into Steam. Luckily you can test directly from the editor which makes things a lot easier.

If for someone achievements still are not working, then I recommend to read this article.
The solution from the above article is working perfectly for me.