# Vector2Field

> Make an X & Y field for entering a Vector2.

## Definition

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

## Vector2Field(string, Vector2, GUILayoutOption\[])

Make an X & Y field for entering a [Vector2](/engine/6000.3/script-reference/unityengine/vector2.md).

```csharp
public static Vector2 Vector2Field(string label, Vector2 value, params GUILayoutOption[] options)
```

### Parameters

**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): Label to display above the field.**** (\[Vector2]\(/engine/6000.3/script-reference/unityengine/vector2)): The value to edit.**** (\[GUILayoutOption\[]]\(/engine/6000.3/script-reference/unityengine/guilayoutoption)): An optional list of layout options that specify extra layout properties. Any values passed in here will override settings defined by the `style`.\\

### Returns

| Type                                                              | Description                    |
| ----------------------------------------------------------------- | ------------------------------ |
| [Vector2](/engine/6000.3/script-reference/unityengine/vector2.md) | The value entered by the user. |

### Remarks

![EditorGUILayoutVector2Field (Vector2Field)](/api/media?file=/engine/6000.3/media/images/EditorGUILayoutVector2Field.png)

*Measure the distance between 2 points.*

### Examples

```csharp
using UnityEditor;
using UnityEngine;

public class EditorGUILayoutVector2Field : UnityEditor.EditorWindow
{
    float distance = 0f;
    Vector3 p1;
    Vector3 p2;

    [MenuItem("Examples/Measure Distance")]
    static void Init()
    {
        EditorGUILayoutVector2Field window = (EditorGUILayoutVector2Field)EditorWindow.GetWindow(typeof(EditorGUILayoutVector2Field), true, "My Empty Window");
        window.Show();
    }

    void OnGUI()
    {
        p1 = EditorGUILayout.Vector2Field("Point 1:", p1);
        p2 = EditorGUILayout.Vector2Field("Point 2:", p2);
        EditorGUILayout.LabelField("Distance:", distance.ToString());
        if (GUILayout.Button("Close"))
            this.Close();
    }

    void OnInspectorUpdate()
    {
        distance = Vector2.Distance(p1, p2);
        this.Repaint();
    }
}
```

## Vector2Field(GUIContent, Vector2, GUILayoutOption\[])

Make an X & Y field for entering a [Vector2](/engine/6000.3/script-reference/unityengine/vector2.md).

```csharp
public static Vector2 Vector2Field(GUIContent label, Vector2 value, params GUILayoutOption[] options)
```

### Parameters

**** (\[GUIContent]\(/engine/6000.3/script-reference/unityengine/guicontent)): Label to display above the field.**** (\[Vector2]\(/engine/6000.3/script-reference/unityengine/vector2)): The value to edit.**** (\[GUILayoutOption\[]]\(/engine/6000.3/script-reference/unityengine/guilayoutoption)): An optional list of layout options that specify extra layout properties. Any values passed in here will override settings defined by the `style`.\\

### Returns

| Type                                                              | Description                    |
| ----------------------------------------------------------------- | ------------------------------ |
| [Vector2](/engine/6000.3/script-reference/unityengine/vector2.md) | The value entered by the user. |

### Remarks

![EditorGUILayoutVector2Field (Vector2Field)](/api/media?file=/engine/6000.3/media/images/EditorGUILayoutVector2Field.png)

*Measure the distance between 2 points.*

### Examples

```csharp
using UnityEditor;
using UnityEngine;

public class EditorGUILayoutVector2Field : UnityEditor.EditorWindow
{
    float distance = 0f;
    Vector3 p1;
    Vector3 p2;

    [MenuItem("Examples/Measure Distance")]
    static void Init()
    {
        EditorGUILayoutVector2Field window = (EditorGUILayoutVector2Field)EditorWindow.GetWindow(typeof(EditorGUILayoutVector2Field), true, "My Empty Window");
        window.Show();
    }

    void OnGUI()
    {
        p1 = EditorGUILayout.Vector2Field("Point 1:", p1);
        p2 = EditorGUILayout.Vector2Field("Point 2:", p2);
        EditorGUILayout.LabelField("Distance:", distance.ToString());
        if (GUILayout.Button("Close"))
            this.Close();
    }

    void OnInspectorUpdate()
    {
        distance = Vector2.Distance(p1, p2);
        this.Repaint();
    }
}
```
