Saving and loading a dynamically generated scene as a new scene

I’m currently working on a project that involves a level builder; a scene where users can take existing assets from the game and create their own levels. I have most of the logic down already however I’m planning out my saving and loading feature. Given that Unity doesn’t like saving anything while the game is running this has been a bit of an issue. Short of iterating through every game object in the scene and saving information with XMLWriter (and generating it later with XMLReader) is there any other way I can possibly save this information?

You need to save out your own level description data structures and then rebuild the scene from them on load.

You cannot create new scenes at runtime.