How can I activate a gameobject just once?

Hello, I am struggling to find a way to activate a gameobject once. For more context, I have a player shop where items automatically unlock when a highscore is past a certain number. I want to display a sprite icon on the shop button to notify the user that something new has been unlocked. As you can imagine, I only want it to be shown when the unlock is achieved, and have it disappear when the player closes the shop. Thanks for the help!

Ok, here’s how I’d do it:

GameObject icon;

onNewUpgrade ()
{
    icon.SetActive(true);
}

onCloseShop()
{
    newUpgrade = false;
}

Very simple right? When you aqcuire any upgrade, set it to active. When you close the shop, set it to inactive