Strategies for Runtime Virtual Textures in multiple sublevels with multiple landscapes but with the same assets

Hello,

I tried a few different things but I didn’t find a satisfying solution to my problem. Let’s say, we have multiple levels with multiple sublevels. Each sublevel can have its own playable area with landscape, meshes and full environments. It’s quite easy to set up RVTs with volumes and everything, that’s all in the documentation. It’s also easy to sample from that RVT(s) from within materials per asset (for blending grass and static meshes).

However, I want to reuse meshes (grass, etc) in all levels and also in different sublevels. If I give all playable areas an individual RVT/SVT combination, I need to create materials (or material instances) per material, per playable area, which is obviously not great at all.

A better solution is to only use one single-size RVT, but individual SVTs per playable area. That way, I don’t have to create thousands of material instances just to exchange the RVT parameter. However, that has the issue that we have a single-size RVT, which is not so nice if the playable areas have different sizes.

In both cases I have the issue that each playable area has the same RVT, so two playable areas can’t really be loaded at the same time because they would overwrite what’s in the RVT. I assumed the editor will issue a warning or even an error, but that didn’t happen. Also, it’s not great for automation, because I can’t just run the “Build Virtual Textures” command with all levels visible.

Another idea that came to mind: To use (per persistent level) one large RVT/SVT combination. However, that RVT/SVT can grow huge (depending on the content) and the combined shape is not ideal (it would result in larger blocks of black/no data).

What would you suggest?

*Bump,
I have no answer to this, but I have run into the same issue and am interested in solving it.

I had the thought of using one large RVT to us on all levels but could forsee issues with it and haven’t even tried going down that rabbit hole. I haven’t come across anything in the roadmap for this issue either but would be super interested to how others are dealing with this? I’ll be trying out some experiments in the coming months; if I make any discoveries I’ll come back and post them.

1 Like