Los Tags y Layers sirven para identificar y organizar GameObjects.

Tags

Un GameObject puede tener un Tag.

Ejemplos:

Comparar:

if (gameObject.CompareTag("Player"))
{
}

También es común usarlo en colisiones:

void OnTriggerEnter(Collider other)
{
    if (other.CompareTag("Player"))
    {
        Debug.Log("Entró el jugador");
    }
}

Buscar por Tag

GameObject jugador = GameObject.FindGameObjectWithTag("Player");

Layers

Cada GameObject pertenece a una Layer.

Las Layers se usan mucho para: