Texture Streaming


I have a blueprint where a certain skeletal mesh is set dynamically and then I capture a snapshot of the skeletal mesh, the issue is because I’m doing it in the same frame the material of the skeletal mesh is not fully streamed so I get a blurry texture, this mainly happens if I just opened the editor so the material is not yet fully loaded in memory, if I set the skeletal mesh and add some delay to wait for the material to stream fully then capture the snapshot then everything is good, but I would like a way to know when a certain material is loaded fully then I can take the snapshot.

Here’s an example when the item is just set:

And of course when it’s loaded

It takes a split second for it to load which is normal, so my question is is there a way to know when this material is fully loaded so I can then take the snapshot, perhaps some delegate I can bind to or some value I can keep an eye on ?

Thank you so much I appreciate every bit of help, I spend a couple hours digging through the engine code but so far I’ve failed to find a way.

Update: I found a solution after digging some more, if you know a better one let me know.
I made this function which I can use to pass a skeletal/static mesh component.

Force loading the textures fully: Load mip maps? - #8 by midgunner66 (read the full thread for other methods). For performance reasons, I would only do this on the mesh that your taking a snapshot of, not the texture itself or the mesh used during gameplay.

But your method isn’t bad since you don’t need it in the exact same frame.