Texture streaming not working correctly

Everytime I try to implement texture streaming it’s the same exact issues.

Every texture that was supposed to be streamed is blurry/low res on build.

Debugging texture streaming in the editor seems to work and show the expected results, but running it in play mode and somehow I get the opposite effect of what happens in build, in that everything is full resolution regardless of the memory budget. Memory budget makes no difference in build either.

Textures meant for streaming are correctly assigned as “streaming mipmaps”. All textures are used on traditional mesh renderers and skinned mesh renderers.

Is this feature knowingly broken? I’m on 2022.3.12. If not, what am I doing wrong?

Check if the quality level in the build is the same as in the editor.
Also, take a look at QualitySettings.globalTextureMipmapLimit.

Yep can confirm the quality level is the same as in the editor, we only use one quality level which has texture streaming enabled along with the proper settings. Also tried to force the globalTextureMipmapLimit to 0 (ie highest) through scripting, and no change sadly.

Also tried not having texture streaming on all cameras, and just using a streaming controller on the main camera. No change either.

Hm, did you set a max texture size in the build settings, maybe?
If that’s not it either, I have no idea, unfortunately.

Nope, sadly. Thanks for your help anyway!

I know this thread is old, but did you ever find a solution for this? I am facing the same situation. My only guess is that it has to do with the Max Level Reduction setting. Unity says this about it:

" You can use the Max Level Reduction property to stop Unity removing mipmap levels smaller than a certain level. This value is also the mipmap level Unity loads at first startup. For example, if you set Max Level Reduction to 2, Unity loads only mipmap levels at level 2 and larger, and keeps them in memory."

I have this value set to 2. What I expect to happen is, Unity loads this level of mipmaps but then switches the mipmap levels higher for any textures that are close enough to the camera to warrant it. But it seems like the adjustment of the close texture mipmaps never happens.