So what happens right now is that the whole game is loaded into the vram at start, right? Couldn't we just create triggers that'd tell the engine to start streaming what we'd need? Like, it's not too hard to imagine that if you're on layout 2 and got 10 layouts, you probably won't be able to go to more than 3 layouts next. You either go to layout 1, layout 3 or you go to the menu. We could set triggers for that. If player is on layout 2, start streaming layout 2 and 3.
Or: If player overlaps with 'StreamObject', start streaming layout 3.
We could have the menu screen as a global layout always in the ram.
In the case of that not being enough, we could still simply create a "Now Loading" layout that the engine automatically temporarily jumps to when changing layouts.
Again, I'm pretty sure I'm really oversimplifying it, but maybe some input from how a lowly artist sees it will help