If you place every object type you need in the layout in the layout editor it is supposed to make the layout load faster.
Also you can store info in the initial objects' variables and effect parameters that the later created objects can use automatically. That is very useful.
I have set up a condition using the "create object by name" condition that every time when a normalmapped object is spawned from a normalmapped family creates the right normalmap for that object from the normalmaps family. I'm using one instance of all the normalmaps as a storage instance since the effect has tons of conditions and they differ for different objects.
However, I'm finding it a bit tricky to deal with the fact that I want to destroy the storage objects at the layout start so they won't get on the way. If I simply destroy them all at the start then the other normalmaps that automatically get created at the layout start (using the automated method I described previously) for my normalmapped objects get destroyed as well.
The best way I currently have to deal with it is having the initial storage items in a "destroy at start" family and placed in their own layer, and the storage objects of that family in that specific layer get destroyed at the start. It seems a bit crude.
Are there better methods for dealing with initial data storage objects? I know using data arrays is one solution, but I think it's actually more cumbersome overall than my current method.