unity – adding another diffuse texture over existing in Unity3D?

I am working on one Voxel gameand I want to add different properties to the voxels that are visualized by an additional (transparent) diffuse texture on the default setting of the voxel,

Voxels could have several properties tied to them, and if they have theirs Textures are combined, (= all property textures are displayed in a specific order)

Example:

  • no property: no additional texture, only the default

  • "Voxel is damaged": The tear texture is masked by default

  • "Voxel has gems in it": the gemstone texture is masked by default

  • "Voxel has gems" + "Voxel is damaged": crack texture> gemstone texture> standard

How is this efficient?