Persistent procedural geometry and level streaming?

You can add stream structure as an editable property of building - it will be visible as numeric seed in editor and will be saved for every building in a map.
In addition you can use following BP part to randomize building if it doesn’t fit (Stream seed still will be saved)

Rebuild is visible bool property, Random Seed is visible Random Stream property.
If you know a seed of some building you want you can enter this seed and get that building. Changes possible if your script analyzes landscape or some environment conditions arround and it changes. Also you will get a different building if trying to disable generating part of your building and skip some random requests as result.