Optimizing GPU texture memory with mipmap streaming
Make a texture compatible with asynchronous texture loading
A texture is eligible for the asynchronous upload pipeline if the following conditions are met:
- The texture is not read/write enabled.
- The texture is not in the Resources folder.
- If the build target is Android, LZ4 compression is enabled in the Build ProfilesA set of customizable configuration settings to use when creating a build for your target platform. More info
See in Glossary window.
Note that if you load a texture using LoadImage(byte[] data), this forces Unity to use the synchronous upload pipeline, even if the above conditions are met.
A mesh is eligible for the asynchronous upload pipeline if the following conditions are met:
- The mesh is not read/write enabled.
- The mesh is not in the Resources folder.
- The mesh has no BlendShapes.
- The mesh vertex/index data is not needed by a Particle System, a Terrain, or a Mesh Collider.
- The mesh has no bone weights.
- The mesh topology is not quadsA primitive object that resembles a plane but its edges are only one unit long, it uses only 4 vertices, and the surface is oriented in the XY plane of the local coordinate space. More info
See in Glossary.
- The meshCompression for the mesh asset is set to Off.
If the build target is Android, LZ4 compression is enabled in the Build Profiles window.
In all other circumstances, Unity loads textures and meshes synchronously.
Optimizing GPU texture memory with mipmap streaming