Changing Static Int Through Scenes

I’m making a game where there are different difficulties (easy, moderate, hard, etc). When the player selects the difficulty from the start menu, it saves and is used in the level. This all works but the problem is that when the player returns to the main menu and tries to select a different difficulty, it doesn’t change. I’ve tried building the game and running it as a standalone but the same thing happens.

public static difficulty Instance;
    public static int difficultySelect;

     /* DIFFICULTY
     *
     * 0 = None
     * 1 = Easy
     * 2 = Moderate
     * 3 = Hard
     * 4 = Hardcore
     * 5 = Endless hardcore
     *
     */

    private void Awake()
    {
        difficultySelect = 0;

        if (Instance != null)
        {
            Destroy(gameObject);
            return;
        }

        Instance = this;
        DontDestroyOnLoad(gameObject);
    }

    public void DifficultySelected(int selectedDiff)
    {
        difficultySelect = selectedDiff;
        print(difficultySelect);
    }

I’ve made it so each difficulty select button is linked to the public static int difficultySelect below:

FIXED. Just assigned the button to input through a different script