Las propiedades corresponden a una lista de parámetros que pueden ser manipulados desde el inspector de Unity. Existen ocho propiedades distintas tanto en sus valores como en su utilidad. Estas propiedades las usaremos en relación al shader que deseemos crear y modificar, ya sea de manera dinámica o en tiempo de ejecución. La sintaxis para declarar una propiedad es la siguiente:
PropertyName ("display name", type) = defaultValue.
““PropertyName” hace referencia al nombre de la propiedad (e.g. _MainTex), “display name” corresponde al nombre de la propiedad que se mostrará en el inspector de Unity (e.g. Texture), “type” indica el tipo de propiedad (e.g. Color, Vector, 2D, etc.) y finalmente, como su nombre lo indica, “defaultValue” es el valor por defecto que se va a asignar a la propiedad (e.g. si la propiedad es un “Color” podemos configurarlo como color blanco de la siguiente manera (1, 1, 1, 1)).

Si prestamos atención a las propiedades de nuestro shader USB_simple_color notaremos que existe una propiedad de tipo textura que ha sido declarada dentro del campo, esto podemos corroborarlo en la siguiente línea de código.
Properties
{
_MainTex (“Texture”, 2D) = “white” {}
}
Un factor a considerar es que cuando declaramos una propiedad, esta queda “abierta” dentro del campo de las propiedades, por lo tanto debemos evitar el punto y coma (;) al final de la línea de código, de otra manera, la GPU no podrá leer el programa.