Variant Manager - Best way to share variants between levels?

Hey guys! Complete UE4 noob here, so bear with me.

I have a map that launches a configurator using the configurator template. I want to include the variant in a free-roam map, and after leaving the configurator have the changes reflected in the free-roam map.

I can see a few potential ways to achieve this.

  1. Seperate levels - creating an array of the selected variants in the game instance on change of level, which is in turn loaded into the next level (this SEEMS like the best way to me, as everything is seperate and simply shares an array).

  2. Sub levels (1) - have the variant manager and model tree in a sublevel which either level can load. I haven’t played with sublevels yet, so I’m sure there’s a multitude of reasons this could be an issue. I would see the configurator blueprint only loading within the config level, so I would then have to possibly modify it to communicate with the sublevel?

  3. Sub levels (2) - Similair to the above solution, but hold the variant in an otherwise empty persistent level. The roaming map and the configurator loads in as a sublevel called by BP. I think this may cause hitching on the transition though? My thought was to use a camera fadout to black during the transition with the player controller disabled during this time to minimise the amount of hitching that becomes apparent.

  4. On exiting the configurator, somewow save the variant as a dynamic actor that can be loaded into the free-roam level. I have googled without any joy.

Being the noob that I am, I may not have grasped some fundemantal concepts that would rule out one or all of the solutions above, so feedback is most appreciated! I have a SERIOUSLY tight deadline to turn this around, while crawling through tutorials and reference materials. Adversity is the mother of invention, as they say.

Thanks guys!

@JBH-Ritchie I’m not sure if I fully understand what you’re asking, but I recently ran into a similar issue. I had a Variant Manager set up to change some properties on my actor, and everything worked fine until I placed the same actor in another level. At that point, I had to rebind the Variant Manager. If I returned to the original level, the Variant Manager would break again and prompt me to rebind.

The solution I found was to place both the actor and the Variant Manager in the same level and then load that level wherever needed. However, one thing I still need to test is handling situations where I want them loaded in a new level but in a different position. If I move them, it seems they’ll also be moved in all levels they’re part of, which could be problematic.