In some cases you might want to use the Fraction node (aka frac() in HLSL) on the UVs (e.g. for repeating sections of a larger texture). But when using this with the Sample Texture 2D you may notice some strange pixellation artifacts along the seam produced by the jump in the UV coordinates. This isn’t limited to the Fraction node, but I find that this is the most common place where it is noticeable. It occurs for anything that causes a jump in the UVs. Another fairly common example is the seam in the Y component when using the Polar Coordinates node. This pixellation occurs because the Sample Texture 2D calculates the mipmap level for sampling by using the partial screenspace derivatives (DDX, DDY), which compare values between neighbouring pixels. The fragment shader can do this as it runs in 2x2 pixel blocks. Usually this mipmapping is a good thing, as it reduces artifacts when viewing the texture at a distance. But when comparing values for pixels along this seam, the jump is interpreted as needing to sample a higher LOD/mipmap level for those pixels. At mipmap resolutions this small, it basically results in the colour being an average of the entire texture. This pixellation can be fixed in a few ways : A simple fix is to disable mip maps for that texture (in it’s import settings), or by using the Sample Texture 2D LOD node to only use LOD/mipmap level 0 (the full resolution texture). But this could cause the artifacts as I mentioned above. A better way to fix this is by using a Custom Function node with Out = SAMPLE_TEXTURE2D_GRAD(Texture, Texture.samplerstate, frac(UV), ddx(UV), ddy(UV)); with inputs “Texture” (Texture2D), “UV” (Vector2) and outputs “Out” (Vector4). You can then remove the Fraction node from your graph as it is handled in the code instead (but only on the 2nd parameter, not the derivates!) If you aren’t using Fraction but a different method that causes seams, you could use a similar function, but provide a separate UV input for the derivates e.g. Out = SAMPLE_TEXTURE2D_GRAD(Texture, Texture.samplerstate, UV, ddx(DerivativeUV), ddy(DerivativeUV));. Can then set the DerivativeUV to the UV node. In Unity 2022.2+ can also now handle this all in graph by using the “Gradient” Mip Sampling Mode under the Node Settings on the Sample Texture 2D node itself, to expose derivative inputs. Use the DDX and DDY nodes on some continous UV coordinates when connecting to these ports.