sounds like a solid system! haha. i had a similar thing going with a game engine i wrote for XNA. i would have a stack of āsceneā objects, that i would pop or push. worked very well for basic 2d games! was pretty solid too. push on a main menu sceneā¦user clicks play/options/credits, push on the play/options/credits scene, player exits back - pop off the top scene and your back to where you came from. love designing the backends of engines. i have not done anything TOO major yet (I am studying game programming at Qantm College) and engine programming was next trimester, but i did manage to roll my own engine for XNA during the summer breakā¦ so much fun.
unity handles gameobjects a little differentlyā¦i can only instantiate cookiecutter versions of each object, (prefabs) and only save floats, strings, ints, doubles, just basic data. this means i give the player a brand new ship each scene, and apply damage to it.
http://imageshack.us/m/190/3190/unledbx.png
the system is really cool, i reckon! i can assign what prefab gets spawned on destruction as well, so i can literally have half of a battleship snapping off mid battle if it recieves too much damageā¦ the component that is going to snap off (the front half, in this case) will call its destroy() function upon reaching 0 health. this spawns an explosion effect and instantiates a free-floating, broken version of the front half of the battleshipā¦ how cool would that look!