How to Load Different Asset Groups in a Scene

Hello!

I’m porting a racing game from Unity to Unreal and trying to figure out the best way to load different tracks into a level. In Unity, I used to load the main level scene and then the track scene separately. In Unreal, there are sublevels, but they seem more focused on level streaming, and they don’t work with World Partition. Here are some approaches I’ve considered:

  1. Put the gates, road spline, and other elements into a blueprint and spawn them in the scene. The problem is that editing them this way is nearly impossible since you can’t see the main level in the Blueprint Editor.
  2. Create a separate level for each track. The issue here is that it becomes chaotic—if I change something in the landscape of racing_01, the landscapes in racing_02 through racing_10 remain outdated.
  3. Develop a track loading and saving system by serializing data into a struct. However, this would require a lot of coding and might lack flexibility.
  4. Use Level Instances. This seems like the best option, except Unreal’s editor tends to crash, and there are some new bugs when moving track elements into the instance.

Any advice or other suggestions on how to handle this more effectively?