Wrong (?) MipMap used for scaled texture on UI

Hey Andrew, the solution you posted is something I tried when attempting to fix my own issue. However, as far as I could see, this setting (forcing a mip level when sampling) does not reliably work in anything rendered by Slate or UMG. At first it looked like it worked randomly, and by setting the “Never Stream” flag on the texture it always works. So it looks like Slate/UMG will be able to use the requested mip only if it happens to be loaded in memory (that’s why it looks random), but the Slate pass in itself does not succeed in putting the required mip in any sort of request queue.

If I have an object in the 3D world which also uses the same texture, when I pan the camera close enough to it to load the right mip, it will show up in the UI. So looks like the 3D world requests needed mips, but the slate pass does not.

Thanks! But how could I know from within the material which Mip Level to choose? I’m not too experienced with the material editor, I can create basic materials, but how do I get the size the material is being rendered?
It’s also not really a nice solution because I would need to create a material or a t least a material instance for every texture I want to use on the UI, but of course it would at least be a solution and I would be really happy if this would work.

I agree with you that having all the Mip maps is not really needed for UI, but I don’t care much about performance at the moment. Letting the UI look good and not as ugly as at the moment is much more important for me…