How to check if game has just been launched

How can I distinguish between when a player has reached the main menu at game launch, and when they’ve returned to the main menu from in-game?

It depends how you’ve implemented your game - are you loading a new scene when you go “in-game”? If so…

Use Object.DontDestroyOnLoad() to preserve some main menu state when loading your game level, then just set a flag. Something like:

bool firstLaunch = true;

void Start(){
    if(firstLaunch){
        DoStuff();
        firstLaunch = false;
    }
    else{
        //back from in-game
    }
}

I found this answer was better for my particular needs:

http://answers.unity3d.com/questions/53316/game-states-communication-through-scenes-and-objec.html