So , I'm trying to increase the details in my mobile game using decals . But using projectors or any of the decal techniques on github or the assets store will put me into the following issues : 1- won't work on mobile 2-too expensive to render 3-involves Baking or the stamped meshes will have a special shader or a script. 4-involves camera trickery. 5-won't support dynamic batching or Gpu instancing. 6-Most importantly deferred rendering !! (i'm on mobile) 7-i'm living under a Rock and refuse to switch above unity 2017.4 . ...and other issues related to mobile . so my solution was to have a Screen space decal shader , using an Atlas texture , to be batched with Gpu instancing. the way i did change the tiles was to use color uvs and Make the color the instanced Parameter Code (CSharp): uv = float2((fmod(uv.x/_Color_Instance.b/_AtlasCount,_tileSize)+_tileSize*_Color_Instance.r),fmod(uv.y/_Color_Instance.b/_AtlasCount,_tileSize)+_tileSize*_Color_Instance.g); (found this in the forum , someone was trying to use vertex colors to make a cube atlas terrain) in the example video , 16 independent different decals uses 1 Draw Call No mesh Decals No texture modifications , No projectors , Nothing but a shader with one Texture and camera Depth. the decals receive shadows , but has no lighting or normal mapping . aside from lighting and normal mapping , what can i add or change for better performance and looks . and let me know is there a better alternative to camera depth . ? and is there any was to exclude other objects from the decal , i was thinking to grabpass the vertex colors and use them as splat map . where the decal will change or gets removed . is there a way to grabpass the vertex colors of the meshes on a separate camera ? or is the decal projector package in the new unity 2019+, better than all of this mess. never got the chance to thank @bgolus . this guy answered like thousand of my shaders related questions without asking him . Thank you i hope you came by this thread . and thanks to all the active members .