Проходы используют тэги чтобы сообщить движку рендера о том, когда и как их надо обрабатывать.
Tags { "TagName1" = "Value1" "TagName2" = "Value2" }
Устанавливает значение Value1 в TagName1, Value2 в TagName2. Можно использовать сколько угодно тегов.
Обычно тэги это пары ключ-значение. Внутри Pass тэги используются для управления ролью прохода в конвейере освещения (ambient, vertex lit, pixel lit и т.д.) и другими настройками. Учитывайте, что последующие тэги используемые в Unity должны быть указаны внутри секции Pass, а не внутри SubShader!
LightMode tag defines Pass’ role in the lighting pipeline. See render pipeline for details. These tags are rarely used manually; most often shaders that need to interact with lighting are written as Surface Shaders and then all those details are taken care of.
Possible values for LightMode tag are:
A pass can indicate flags that change how rendering pipeline passes data to it. This is done by using PassFlags tag, with a value that is space-separated flag names. Currently the flags supported are:
A pass can indicate that it should only be rendered when some external conditions are met. This is done by using RequireOptions tag, whose value is a string of space separated options. Currently the options supported by Unity are:
SubShaders can be given Tags as well, see SubShader Tags.