So I have a manager object that controls my whole application. It exists in my starting level and I have it set to "DontDestroyOnLoad". Then I load other levels and my manager carries over just fine, but when the player clicks the back button to go back to the main screen (level0), I get a second instance of my manager because it existed originally in that level. Obviously this causes huge problems. I thought DontDestroyOnLoad would be smart enough to not replicate the object in question on every level load. Apparently it isn't. What can I do to prevent the controller from getting duplicated? I need it to exist in the first scene to begin with. Seems like a chicken and egg problem: I need an object to bootstrap the application, but then I don't need it when reloading the scene.