Thanks. After doing a bit of thinking, I realised that for my specific use case, I cannot go with world partition for multiple reasons:
- Couldn’t use streaming volumes if I needed to, because my levels occupy the same 3d space most of the time. They’re just loaded separately. And World Partition relies on your game world being one continuous landmass.
- It would be significantly harder to adapt my saving system to accommodate the use of data layers.
- Loading/unloading chunks of the map wouldn’t bring much benefit because my maps are usually small. And I want the background geometry to be visible most of the time.
- I would have to load/unload persistent levels and that locks me out of having async loading screens, and I want to avoid c++ as much as possible.
I’ll tick this as a solution because I think it answers the question a bit better for people in my situation.