hi,
it goes like this when I have to implement such thing.
I simply do not have this object in the scene when it starts, I add it programatically, so that when the scene start I can simply ask or check a global var if it is there already or not, and instanciate it if not.
This way, it works for all your scenes when you need to work on a specific scene, and it doesn't get messy when you play the whole thing.
I call this __MANAGER__ or something ( so that it's clear in the hierarchy what's "3d" and what's not. I have this on all scene, and it gets destroyed with the scene. I prefer this as querying from the object itself ( and destroy it if duplicate) because then I am sure nothing is processed ( like on Awake() for example).
so __MANAGER__ has a Fsm that check a global bool var "base is on" or something, if it's false, then I create that base from a prefab AND set "base is on" to true, next scene a new __MANAGER__ will check again and will find that "base is on" is true and therefore will do nothing.
You can also "sort of" find this kind of set up in the Photon Demo, namely the enabled, you'll also see that the enabler GameObject is destroyed as soon as it did its job, which leave the scene cleaner.
https://hutonggames.fogbugz.com/default.asp?W859The difference here is that various gameObjects are activated or destroyed based on whether or not the player is in a room. In your scene, it would simply a question of checking if you just launched the simulator or not and act accordingly.
Hope it make sense, else, do not hesitate, I'll try to reword or come up with a working example if you really get stuck.
Bye,
Jean