# Label

> Creates a text label for a handle that is positioned in 3D space.

## Definition

* **Type:** Method
* **Namespace:** [UnityEditor](/engine/6000.0/script-reference/unityeditor.md)
* **Assembly:** UnityEditor

## Label(Vector3, string)

Creates a text label for a handle that is positioned in 3D space.

```csharp
public static void Label(Vector3 position, string text)
```

### Parameters

**** (\[Vector3]\(/engine/6000.0/script-reference/unityengine/vector3)): The position in 3D space as seen from the current handle camera.**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): The text to display on the label.

### Remarks

Labels have no user interaction and canot be clicked on. Labels are always rendered in normal style.

![HandlesLabel (Label)](/api/media?file=/engine/6000.0/media/images/HandlesLabel.png)

*Label in the Scene view.*

### Examples

```csharp
//This script is not an Editor script
//Attach this script to a GameObject in your Scene

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

[ExecuteInEditMode]
public class HandleExample : MonoBehaviour
{
    public float shieldArea = 5.0f;

    // Use this for initialization
    void Start()
    {
    }

    // Update is called once per frame
    void Update()
    {
    }
}
```

```csharp
//Create a folder named "Editor" in your project directory, if the directroy does not already have one. Place this script in the Editor folder.

using UnityEngine;
using System.Collections;
using UnityEditor;

// Create a 180 degrees wire arc with a ScaleValueHandle attached to the disc
// lets you visualize some info of the transform

[CustomEditor(typeof(HandleExample))]
class LabelHandle : Editor
{
    void OnSceneGUI()
    {
        HandleExample handleExample = (HandleExample)target;
        if (handleExample == null)
        {
            return;
        }

        Handles.color = Color.blue;
        Handles.Label(handleExample.transform.position + Vector3.up * 2,
            handleExample.transform.position.ToString() + "\nShieldArea: " +
            handleExample.shieldArea.ToString());

        Handles.BeginGUI();
        if (GUILayout.Button("Reset Area", GUILayout.Width(100)))
        {
            handleExample.shieldArea = 5;
        }
        Handles.EndGUI();


        Handles.DrawWireArc(handleExample.transform.position,
            handleExample.transform.up,
            -handleExample.transform.right,
            180,
            handleExample.shieldArea);
        handleExample.shieldArea =
            Handles.ScaleValueHandle(handleExample.shieldArea,
                handleExample.transform.position + handleExample.transform.forward * handleExample.shieldArea,
                handleExample.transform.rotation,
                1,
                Handles.ConeHandleCap,
                1);
    }
}
```

## Label(Vector3, Texture)

Creates a text label for a handle that is positioned in 3D space.

```csharp
public static void Label(Vector3 position, Texture image)
```

### Parameters

**** (\[Vector3]\(/engine/6000.0/script-reference/unityengine/vector3)): The position in 3D space as seen from the current handle camera.**** (\[Texture]\(/engine/6000.0/script-reference/unityengine/texture)): The texture to display on the label.

### Remarks

Labels have no user interaction and canot be clicked on. Labels are always rendered in normal style.

![HandlesLabel (Label)](/api/media?file=/engine/6000.0/media/images/HandlesLabel.png)

*Label in the Scene view.*

### Examples

```csharp
//This script is not an Editor script
//Attach this script to a GameObject in your Scene

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

[ExecuteInEditMode]
public class HandleExample : MonoBehaviour
{
    public float shieldArea = 5.0f;

    // Use this for initialization
    void Start()
    {
    }

    // Update is called once per frame
    void Update()
    {
    }
}
```

```csharp
//Create a folder named "Editor" in your project directory, if the directroy does not already have one. Place this script in the Editor folder.

using UnityEngine;
using System.Collections;
using UnityEditor;

// Create a 180 degrees wire arc with a ScaleValueHandle attached to the disc
// lets you visualize some info of the transform

[CustomEditor(typeof(HandleExample))]
class LabelHandle : Editor
{
    void OnSceneGUI()
    {
        HandleExample handleExample = (HandleExample)target;
        if (handleExample == null)
        {
            return;
        }

        Handles.color = Color.blue;
        Handles.Label(handleExample.transform.position + Vector3.up * 2,
            handleExample.transform.position.ToString() + "\nShieldArea: " +
            handleExample.shieldArea.ToString());

        Handles.BeginGUI();
        if (GUILayout.Button("Reset Area", GUILayout.Width(100)))
        {
            handleExample.shieldArea = 5;
        }
        Handles.EndGUI();


        Handles.DrawWireArc(handleExample.transform.position,
            handleExample.transform.up,
            -handleExample.transform.right,
            180,
            handleExample.shieldArea);
        handleExample.shieldArea =
            Handles.ScaleValueHandle(handleExample.shieldArea,
                handleExample.transform.position + handleExample.transform.forward * handleExample.shieldArea,
                handleExample.transform.rotation,
                1,
                Handles.ConeHandleCap,
                1);
    }
}
```

## Label(Vector3, GUIContent)

Creates a text label for a handle that is positioned in 3D space.

```csharp
public static void Label(Vector3 position, GUIContent content)
```

### Parameters

**** (\[Vector3]\(/engine/6000.0/script-reference/unityengine/vector3)): The position in 3D space as seen from the current handle camera.**** (\[GUIContent]\(/engine/6000.0/script-reference/unityengine/guicontent)): The text, image, and tooltip for this label.

### Remarks

Labels have no user interaction and canot be clicked on. Labels are always rendered in normal style.

![HandlesLabel (Label)](/api/media?file=/engine/6000.0/media/images/HandlesLabel.png)

*Label in the Scene view.*

### Examples

```csharp
//This script is not an Editor script
//Attach this script to a GameObject in your Scene

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

[ExecuteInEditMode]
public class HandleExample : MonoBehaviour
{
    public float shieldArea = 5.0f;

    // Use this for initialization
    void Start()
    {
    }

    // Update is called once per frame
    void Update()
    {
    }
}
```

```csharp
//Create a folder named "Editor" in your project directory, if the directroy does not already have one. Place this script in the Editor folder.

using UnityEngine;
using System.Collections;
using UnityEditor;

// Create a 180 degrees wire arc with a ScaleValueHandle attached to the disc
// lets you visualize some info of the transform

[CustomEditor(typeof(HandleExample))]
class LabelHandle : Editor
{
    void OnSceneGUI()
    {
        HandleExample handleExample = (HandleExample)target;
        if (handleExample == null)
        {
            return;
        }

        Handles.color = Color.blue;
        Handles.Label(handleExample.transform.position + Vector3.up * 2,
            handleExample.transform.position.ToString() + "\nShieldArea: " +
            handleExample.shieldArea.ToString());

        Handles.BeginGUI();
        if (GUILayout.Button("Reset Area", GUILayout.Width(100)))
        {
            handleExample.shieldArea = 5;
        }
        Handles.EndGUI();


        Handles.DrawWireArc(handleExample.transform.position,
            handleExample.transform.up,
            -handleExample.transform.right,
            180,
            handleExample.shieldArea);
        handleExample.shieldArea =
            Handles.ScaleValueHandle(handleExample.shieldArea,
                handleExample.transform.position + handleExample.transform.forward * handleExample.shieldArea,
                handleExample.transform.rotation,
                1,
                Handles.ConeHandleCap,
                1);
    }
}
```

## Label(Vector3, string, GUIStyle)

Creates a text label for a handle that is positioned in 3D space.

```csharp
public static void Label(Vector3 position, string text, GUIStyle style)
```

### Parameters

**** (\[Vector3]\(/engine/6000.0/script-reference/unityengine/vector3)): The position in 3D space as seen from the current handle camera.**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): The text to display on the label.**** (\[GUIStyle]\(/engine/6000.0/script-reference/unityengine/guistyle)): The style to use for this label. If left out, the label style from the current GUISkin is used.

### Remarks

Labels have no user interaction and canot be clicked on. Labels are always rendered in normal style.

![HandlesLabel (Label)](/api/media?file=/engine/6000.0/media/images/HandlesLabel.png)

*Label in the Scene view.*

### Examples

```csharp
//This script is not an Editor script
//Attach this script to a GameObject in your Scene

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

[ExecuteInEditMode]
public class HandleExample : MonoBehaviour
{
    public float shieldArea = 5.0f;

    // Use this for initialization
    void Start()
    {
    }

    // Update is called once per frame
    void Update()
    {
    }
}
```

```csharp
//Create a folder named "Editor" in your project directory, if the directroy does not already have one. Place this script in the Editor folder.

using UnityEngine;
using System.Collections;
using UnityEditor;

// Create a 180 degrees wire arc with a ScaleValueHandle attached to the disc
// lets you visualize some info of the transform

[CustomEditor(typeof(HandleExample))]
class LabelHandle : Editor
{
    void OnSceneGUI()
    {
        HandleExample handleExample = (HandleExample)target;
        if (handleExample == null)
        {
            return;
        }

        Handles.color = Color.blue;
        Handles.Label(handleExample.transform.position + Vector3.up * 2,
            handleExample.transform.position.ToString() + "\nShieldArea: " +
            handleExample.shieldArea.ToString());

        Handles.BeginGUI();
        if (GUILayout.Button("Reset Area", GUILayout.Width(100)))
        {
            handleExample.shieldArea = 5;
        }
        Handles.EndGUI();


        Handles.DrawWireArc(handleExample.transform.position,
            handleExample.transform.up,
            -handleExample.transform.right,
            180,
            handleExample.shieldArea);
        handleExample.shieldArea =
            Handles.ScaleValueHandle(handleExample.shieldArea,
                handleExample.transform.position + handleExample.transform.forward * handleExample.shieldArea,
                handleExample.transform.rotation,
                1,
                Handles.ConeHandleCap,
                1);
    }
}
```

## Label(Vector3, GUIContent, GUIStyle)

Creates a text label for a handle that is positioned in 3D space.

```csharp
public static void Label(Vector3 position, GUIContent content, GUIStyle style)
```

### Parameters

**** (\[Vector3]\(/engine/6000.0/script-reference/unityengine/vector3)): The position in 3D space as seen from the current handle camera.**** (\[GUIContent]\(/engine/6000.0/script-reference/unityengine/guicontent)): The text, image, and tooltip for this label.**** (\[GUIStyle]\(/engine/6000.0/script-reference/unityengine/guistyle)): The style to use for this label. If left out, the label style from the current GUISkin is used.

### Remarks

Labels have no user interaction and canot be clicked on. Labels are always rendered in normal style.

![HandlesLabel (Label)](/api/media?file=/engine/6000.0/media/images/HandlesLabel.png)

*Label in the Scene view.*

### Examples

```csharp
//This script is not an Editor script
//Attach this script to a GameObject in your Scene

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

[ExecuteInEditMode]
public class HandleExample : MonoBehaviour
{
    public float shieldArea = 5.0f;

    // Use this for initialization
    void Start()
    {
    }

    // Update is called once per frame
    void Update()
    {
    }
}
```

```csharp
//Create a folder named "Editor" in your project directory, if the directroy does not already have one. Place this script in the Editor folder.

using UnityEngine;
using System.Collections;
using UnityEditor;

// Create a 180 degrees wire arc with a ScaleValueHandle attached to the disc
// lets you visualize some info of the transform

[CustomEditor(typeof(HandleExample))]
class LabelHandle : Editor
{
    void OnSceneGUI()
    {
        HandleExample handleExample = (HandleExample)target;
        if (handleExample == null)
        {
            return;
        }

        Handles.color = Color.blue;
        Handles.Label(handleExample.transform.position + Vector3.up * 2,
            handleExample.transform.position.ToString() + "\nShieldArea: " +
            handleExample.shieldArea.ToString());

        Handles.BeginGUI();
        if (GUILayout.Button("Reset Area", GUILayout.Width(100)))
        {
            handleExample.shieldArea = 5;
        }
        Handles.EndGUI();


        Handles.DrawWireArc(handleExample.transform.position,
            handleExample.transform.up,
            -handleExample.transform.right,
            180,
            handleExample.shieldArea);
        handleExample.shieldArea =
            Handles.ScaleValueHandle(handleExample.shieldArea,
                handleExample.transform.position + handleExample.transform.forward * handleExample.shieldArea,
                handleExample.transform.rotation,
                1,
                Handles.ConeHandleCap,
                1);
    }
}
```
