# CompareTag

> Checks if the specified tag is attached to the GameObject.

## Definition

* **Type:** Method
* **Namespace:** [UnityEngine](/engine/6000.5/script-reference/unityengine.md)
* **Assembly:** UnityEngine.CoreModule

## CompareTag(string)

Checks if the specified tag is attached to the GameObject.

```csharp
public bool CompareTag(string tag)
```

### Parameters

**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): The tag to check for on the GameObject.

### Returns

| Type                                                          | Description                                                    |
| ------------------------------------------------------------- | -------------------------------------------------------------- |
| [bool](https://learn.microsoft.com/dotnet/api/system.boolean) | `true` if the GameObject has the given tag, `false` otherwise. |

### Remarks

The example below calls `CompareTag` on a [Collider](/engine/6000.5/script-reference/unityengine/collider.md) to check if it has the `Player` tag.

```csharp
// Immediate death trigger.
// Destroys any colliders that enter the trigger, if they are tagged "Player".
using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour
{
    void OnTriggerEnter(Collider other)
    {
        if (other.gameObject.CompareTag("Player"))
        {
            Destroy(other.gameObject);
        }
    }
}
```

Additional Resources: [GameObject.FindWithTag](/engine/6000.5/script-reference/unityengine/gameobject/findwithtag.md)

## CompareTag(TagHandle)

Checks if the specified tag is attached to the GameObject.

```csharp
public bool CompareTag(TagHandle tag)
```

### Parameters

**** (\[TagHandle]\(/engine/6000.5/script-reference/unityengine/taghandle)): A [TagHandle](/engine/6000.5/script-reference/unityengine/taghandle.md) representing the tag to check for on the GameObject.

### Returns

| Type                                                          | Description                                                    |
| ------------------------------------------------------------- | -------------------------------------------------------------- |
| [bool](https://learn.microsoft.com/dotnet/api/system.boolean) | `true` if the GameObject has the given tag, `false` otherwise. |

### Remarks

This overload of the method, which takes a [TagHandle](/engine/6000.5/script-reference/unityengine/taghandle.md), can be faster than the overload which takes a string, particularly if the same `TagHandle` can be reused for many calls.

The example below calls `CompareTag` with a `TagHandle` on a [Collider](/engine/6000.5/script-reference/unityengine/collider.md) to check if it has the `Player` tag:

```csharp
// Immediate death trigger.
// Destroys any colliders that enter the trigger, if they are tagged "Player".
using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour
{
    private TagHandle _playerTag;
    public void OnEnable()
    {
        _playerTag = TagHandle.GetExistingTag("Player");
    }

    void OnTriggerEnter(Collider other)
    {
        if (other.gameObject.CompareTag(_playerTag))
        {
            Destroy(other.gameObject);
        }
    }
}
```

Additional Resources: [TagHandle](/engine/6000.5/script-reference/unityengine/taghandle.md)
