Hey dop2000
Thanks for your suggestions. Here are my thoughts.
Regarding the first proposal:
That's a nice idea but like you said, it wouldn't really scale and it'd become pretty impractical/messy quickly I think. Also I believe it'd be very prone to bugs as you're effectively storing all the possible scenarios/content arrangements you want to load in areas off screen.
Regarding the snapshot approach:
I did consider this but again I think it's messy and introduces an "over the top" process into the development cycle in which we'd need to be regularly loading the layout up, grabbing the JSON, possibly altering it in some way and then adding it back into the project. Any small iteration of any scenario or layout would require this re-generation process.
More thoughts:
Considering we have the existing layout system that can compartmentalise the content that we would want to load, it seems like we'd be reinventing the wheel with the above approaches.
I am wondering what Ashley thinks about this. Some kind of support for this feature would be really useful for a variety of games I think.
Also, in case anyone is wondering, here is how the hacky C2 plugin I made previously worked. These were its methods:
LoadLayoutLayer
Description: Load layer {1} from layout {0} into layer {2} with offsets {3} and {4}.
LoadWholeLayout
Description: Load all layers with matching names from layout {0} with offsets {1} and {2}.
The latter automatically mapped the layer names from one layout to another.