I notice that the vertex shader has a UV property, but I cant find any documentation about it. In the vertex shader is UV a vector2 that represents the x, y position of the current pixel in the texture?

Vertex and fragment function both have built-in UV property. In vertex function it represents vertex position in the texture space while in fragment function it's pixel position in the texture space. UV in fragment shader is in fact interpolation of three UV coordinates belonging to shaded triangle's vertices. So if you manipulate UV value in the vertex shader, it'll affect UV value in the fragment shader.

10 months later