Search Unity

  1. Unity 6 Preview is now available. To find out what's new, have a look at our Unity 6 Preview blog post.
    Dismiss Notice
  2. Unity is excited to announce that we will be collaborating with TheXPlace for a summer game jam from June 13 - June 19. Learn more.
    Dismiss Notice
  3. Dismiss Notice

Question How does one get the most out of texture streaming settings?

Discussion in 'Graphics Dev Blitz Day 2023 - Q&A' started by sacb0y, May 24, 2023.

  1. sacb0y

    sacb0y

    Joined:
    May 9, 2016
    Posts:
    999
    There isn't much useful information on configuring the texture streaming settings.

    Nothing on best practices and such for PC and/or mobile. For me I just kinda winged it and it turned out OK. But there's a lot of layers to it. Texture streaming orders for different files, etc.

    Is there a reccomended source for the settings? Or do you have advice or rules to follow? Like trying to avoid visible texture load in and such. Or providing some of these options as user settings for future proofing.
     
    Lars-Steenhoff likes this.
  2. BartPieters

    BartPieters

    Unity Technologies

    Joined:
    Apr 12, 2019
    Posts:
    26
    Hi!

    Unfortunately, we don’t have an dedicated how-to on how to use Mipmap streaming at the moment. The manual (https://docs.unity3d.com/Manual/TextureStreaming.html) best describes how to set up Mipmap streaming. The streaming system decides automatically when to load specific textures, or you explicitly requests textures to load, or a combination of both. It uses the object bounds along with camera position, screen size and the mesh uv density to calculate the resolution the texture needs to be on screen. And will use this information to determine how many mips are needed for that texture. It will then load (or unload) texture mips to constrain the GPU memory usage to the texture budget you provide. The system was set up to be mostly automatic. Our suggestion is to start playing with the memory budget, which textures to enable for streaming and which not, and use the debugging features to identify problems such as incompatible shaders (https://docs.unity3d.com/Manual/TextureStreaming.html#Debugging), meanwhile keeping an eye out on memory usage in the Profiler. Ideally, you use texture streaming on textures that are not in constant use. It works best on higher resolution textures that are not rendered using the highest quality all the time