Hi everyone,
I’m currently using Unreal Engine 5.6.1 and encountering an issue where Runtime Virtual Texture (RVT) tiles appear blurry after loading the game or teleporting the player. This happens in both PIE and packaged builds, and the blur disappears either when moving the character or after executing “r.VT.Flush”.
What I’m Seeing
- Some RVT tiles are blurry after loading or teleport. The tiles stay blurry until I move the character far enough to evict them from the cache, or explicitly call “r.VT.Flush”
- “r.VT.RVT.MipColor 1” confirms that the tiles are using the correct mip level.
- “r.VT.Residency.Show 1” shows that VT pools are large enough and no bias is applied.
- The issue only occurs when rendering a specific asset to the RVT, which uses regular streamed textures (not virtual). If I hide the asset or set its input textures to “NeverStream=True”, the issue disappears.
Why I Think This Happens
It seems that RVT tiles are rendered using streamed textures that haven’t fully loaded into memory. Once the texture data is available, flushing the VT cache regenerates the tiles correctly. This issue has been reported before:
- [Landscape RVT showing artifacts on level [Content removed]
- [Blurry [Content removed]
There was also a bug tracker associated to the issue, UE-309761, which is now set to WNF ![]()
Workarounds I’ve Found
- Set input textures to non-streaming using “NeverStream=True”. This works but increases memory usage. The cost is significant with very large worlds, which is why I’m looking for alternatives.
- Explicitly call “r.VT.Flush” a few seconds after a teleport. The tiles are correctly regenerated, however there is a clear drop in quality for a split second after the flush. Also it’s difficult to time it correctly since there is no notification when textures are fully streamed in (AFAIK).
- Enable continuous update on the RVT. This ensures tiles are eventually redrawn at full quality, but it takes a long time (20 to 30 seconds with default settings). I found that the following cvars can speed up the generation time, at the price of some CPU/GPU time.
r.VT.MaxContinuousUpdatesPerFrame
r.VT.MaxTilesProducedPerFrame
r.VT.MaxUploadsPerFrame
Questions
- Is there another (smarter) way to fix blurry RVT tiles?
- Is there a way to somehow preload the textures by the RVT?
Thanks in advance for any insights or suggestions!