Try to use as few textures as possible on mobile platforms. This is because using more textures results in more texture fetches. More texture fetches mean that more bandwidth is used, affecting the battery life of the device.
Application size increases as more textures are saved in memory. Instead of using individual textures for the roughness texture and the metallic texture, you can pack these separate textures into the channels of a single texture. This technique is known as texture packing and it helps you to reduce the number of textures that are used.
The following image shows an example of how you can pack three separate textures into a single channel to save on bandwidth:
You can also use a number instead of a texture for some parameters, for example metallic, roughness, or smoothness. If possible, you should try using an number instead of a texture and observe whether the visual quality is affected. Using a numerical value further reduces the number of textures that are used.
Note: In Unity, a value must be added within the shader.
Using an unlit shader also reduces the number of textures that are used. This is because light does not affect the material. This means that the material does not need roughness or metallic textures.