Load mip maps?

Hey does anyone know how to load mip maps textures in the loading screen so they don’t go all blurry when the user is playing the game when the textures change. Please, any help is much appreciated, thank you! :slight_smile:

Dont immediately show the map, keep the loading screen on for an extra 0.5 seconds.

1 Like

But how do I know that the mips will take that long to load? On my packaged build atm, they are taking a few seconds

Well, if you wait for them to load, obviously it will take some time, so wait for it to load the lowest mips so it doesnt pop in as bad. Also, lower texture res=good

1 Like

Sorry if I sound stupid here, but what do you mean by wait for it to load the lowest mips so it doesn’t pop in as bad?

Preload It:
Use the AsyncLoadAsset node to preload the texture before it’s visible (e.g. at the loading screen). Idk if this will load all mips, but it will at least load part the texture if it’s not loaded already.

Disable Streaming:
If you still have MIP problems, in the texture’s settings, set “Never Stream” to true (this can also be done in blueprints). This will always load the entire texture before it’s used. To disable streaming for all textures, in the project settings under rendering, set “Texture Streaming” to false.

However, disabling streaming can cause the game to stutter, which is why streaming is enabled by default. To avoid this, you can enable “Never Stream” before the game starts, and after the game starts, disable it. This makes sure the textures are fully loaded before the game starts, but still allows them to stream during the game.

3 Likes

Thanks so much for your reply, I really appreciate the help! :slight_smile:

I just found this by accident:

Also this in component settings:
mip-stream
This is probably better than my last suggestion.

3 Likes

Ok thanks so should if I use prestream textures will it stop mipmap blur? Also I can’t find force mip streaming on my textures, and should I use both?

ForceMipStreaming is on the mesh component, not the texture. I would try this first, since the tooltip says it should be “resident” (fully loaded) when the level is loaded, which is what you want.

Also found this: Set Force Mip Levels to be Resident | Unreal Engine Documentation, which is the node version of the setting. I think this and the PrestreamTextures node are for cinematics (hence the cinematic texture group pin), so I would try those last.

3 Likes

Okay, thanks so much for your help again, I’ll try this out right now :slight_smile:

Just found it in the texture settings, it’s called “Global Force Resident Mip Levels”. This is global, so every object that uses this texture forces mips.

2 Likes