First load of a texture that came from a SoftObjectPtr appears to be really small. Next times loading, it is the right size.

I was trying to load a texture from a SoftObjectPtr, but everytime I try assigning it to a UImage for the first time it appears really small. subsequent times, it is fine. I know this happens because on the very first async load, the texture does not yet have its final mip/size when UMG does its layout pass. Every time after that, the texture is already in memory, so the size is known early and UMG lays it out correctly.

So I tried using these functions that I’ve found that should potentially help me:

WaitForStreaming, InvalidateLayoutAndVolatility and ForceLayoutPrepasswere “supposed” to help, but I still have the issue…

For context, the image is inside a Scalebox because I want my image to keep its aspect ratio but stay within the constraints of its container (the scalebox).

It’s probably a MIP issue - like you self diagnosed.

Disable mips on that specidic texture - it’s about the only way. Everything else is basically an engine “feature”. Countless games out there that have this occurring…

This is a problem (feature) with widgets. It takes 1-2 frames after rendering for the geometry to become correct.