What is the best way to save/load a gameobject hierarchy at runtime, complete with components and values?
You could use the UnitySerializerplugin, which handles serializing all your public properties on your objects.
Is it absolutely necessary to serialize and save all the components, or could you get away with storing only the essential information as primitive types and recreate the game objects on load using that data? Just something to think about.