The diffuse shader gives the option to tile a texture that is applied to a mesh which is quite useful, the problem I have though is that the way it tiles is on the textures entire length rather than just a section of the UV that is applied to the mesh so in a texture sheet with multiple textures tiling results in other textures being included.
Your UVs are first scaled, from the origin – Tiling.
Then a Vector2 is added to the result – Offset.
So, for an atlasing approach such that you have going on, tiling and offset are generally useless; the words they represent, but don’t quite match, will need to be performed in the UV creation stage. “Scale” and “Position”, like a Transform has, would have been more accurate names.
It is possible, but only at shader level in a fragment shader. The tile information has to be passed differently. In the other question michael used a shader variable (offset).