# CompareTag

> Checks the GameObject's tag against the defined tag.

## Definition

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

## CompareTag(string)

Checks the GameObject's tag against the defined tag.

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

### Parameters

**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): The tag to compare.

### Returns

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

### Examples

```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.CompareTag("Player"))
        {
            Destroy(other.gameObject);
        }
    }
}
```

## CompareTag(TagHandle)

Checks the GameObject's tag against the defined tag.

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

### Parameters

**** (\[TagHandle]\(/engine/6000.0/script-reference/unityengine/taghandle)): A TagHandle representing the tag to compare.

### Returns

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

### Remarks

This overload of the method, which takes a [TagHandle](/engine/6000.0/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.

### Examples

```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.CompareTag(_playerTag))
        {
            Destroy(other.gameObject);
        }
    }
}
```
