Replacement Shader Tags: How to Specify Them?

I’ve been looking around through the documentation for using “replacement shaders” and I can’t seem to find any documentation on how the value of the tags are specified on the given game objects.

For example, a lot of tutorials I see use

camera.SetReplacementShader(replacementShader, "RenderType");

The shader in the material used have a bunch of sub shaders which define different behavior depending on the “RenderType” such as opaque, transparent, tree geometry. My question is where in the world are these tag values specified (opaque, transparent, tree, etc.)? I don’t see them anywhere on the game objects in the examples at all.

So, how are these tag values specified? How do I make my own? What if I wanted to specify my own tag similar to a render pass, i.e. “render to texture” pass and then a “normal” pass which have different shader behavior?

I just want to do a very simple example first to see how this all works. My example just has a plane and 2 cameras. One camera renders the plane (all geometry really) from the view of one camera and renders this to a texture. The shader on the other camera then renders the texture made from the first camera. I know this example is dumb, but I will eventually make a shadow mapping algorithm out of it (without using built in shadows in Unity) so just bear with me.

The tag values are specified in the actual shader, like so:

SubShader {
Tags {
“RenderType”=“TransparentCutout”
}

The default Unity shaders already have them specified too.

PS: thanks for pointing out the “RenderType” parameter - I always tried it by putting in tag values, which obviously doesn’t work. Thanks!