I was creating a simple scene in Unity3D today where a player would choose their colour by colliding into a wall, which would change the tag of the player to 'RedPlayer', 'BluePlayer', etc; And print on the Debug Log saying 'He's a red boy!', or whatever the player chose. However, everything thing was working fine until I added the last wall in (WhitePlayer), and every wall changed the Player's tag to WhitePlayer, however it still prints the colour of the wall they collide with. 

```
using UnityEngine;
using System.Collections;

public class ColourChoice : MonoBehaviour
{

    void OnTriggerEnter(Collider other)
    {
        if (other.gameObject.tag == "RedCollision")
            Debug.Log("He's a Red Boy!");
        gameObject.tag = "RedPlayer";

        if (other.gameObject.tag == "YellowCollision")
            Debug.Log("He's a Yellow Boy!");
        gameObject.tag = "YellowPlayer";

        if (other.gameObject.tag == "BlueCollision")
            Debug.Log("He's a Blue Boy!");
        gameObject.tag = "BluePlayer";

        if (other.gameObject.tag == "GreyCollision")
            Debug.Log("He's a Grey Boy!");
        gameObject.tag = "GreyPlayer";

        if (other.gameObject.tag == "GreenCollision")
            Debug.Log("He's a Green Boy!");
        gameObject.tag = "GreenPlayer";

        if (other.gameObject.tag == "MaroneCollision")
            Debug.Log("He's a Marone Boy!");
        gameObject.tag = "MaronePlayer";

        if (other.gameObject.tag == "PurpleCollision")
            Debug.Log("He's a Purple Boy!");
        gameObject.tag = "PurplePlayer";

        if (other.gameObject.tag == "OrangeCollision")
            Debug.Log("He's a Orange Boy!");
        gameObject.tag = "OrangePlayer";

        if (other.gameObject.tag == "WhiteCollision")
            Debug.Log("He's a White Boy!");
        gameObject.tag = "WhitePlayer";
    }
}

```

I've included the code here, hoping someone can figure it out. If I could get an explanation on how to fix this, that would be great.

Thanks,
Matt