# DrawWireDisc(Vector3, Vector3, float, float)

> Draws the outline of a flat disc in 3D space.

## Definition

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

```csharp
public static void DrawWireDisc(Vector3 center, Vector3 normal, float radius, float thickness)
```

### Parameters

**** (\[Vector3]\(/engine/6000.6/script-reference/unityengine/vector3)): The center of the disc in world space.**** (\[Vector3]\(/engine/6000.6/script-reference/unityengine/vector3)): The normal of the disc in world space.**** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)): The radius of the disc in world space units.**** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)): Line thickness in UI points (zero thickness draws single-pixel line).

### Remarks

The [Handles.color](/engine/6000.6/script-reference/unityeditor/handles/color.md) and [Handles.matrix](/engine/6000.6/script-reference/unityeditor/handles/matrix.md) properties colorize and additionally transform the disc position. Unity ignores `DrawWireDisc` (that is, nothing happens) when the current GUI event type is not [EventType.Repaint](/engine/6000.6/script-reference/unityengine/eventtype/repaint.md).

![DrawWireDisc (DrawWireDisc(Vector3, Vector3, float, float))](/api/media?file=/engine/6000.6/media/images/DrawWireDisc.png)

*Wire Disc in the Scene View.*

```csharp
using UnityEngine;
using UnityEditor;

// draw a red circle around the scene cube
[CustomEditor(typeof(CubeExample))]
public class CubeEditor : Editor
{
    void OnSceneGUI()
    {
        CubeExample cubeExample = (CubeExample)target;

        Handles.color = Color.red;
        Handles.DrawWireDisc(cubeExample.transform.position, new Vector3(0, 1, 0), cubeExample.circleSize);
    }
}
```

The cube:

```csharp
using UnityEngine;

public class CubeExample : MonoBehaviour
{
    public float circleSize = 3.0f;
}
```

You can use [HandleUtility.GetHandleSize](/engine/6000.6/script-reference/unityeditor/handleutility/gethandlesize.md) to calculate a suitable size for a manipulator handle.

Disc line `thickness` can be optionally set. Zero thickness draws a one-pixel line. Larger thickness values express line thickness in UI points. For example, a thickness of 1.0 could be two pixels wide on screen if the display zoom is 200% (see [EditorGUIUtility.pixelsPerPoint](/engine/6000.6/script-reference/unityeditor/editorguiutility/pixelsperpoint.md)).

![HandlesDrawWireDiscThickness (DrawWireDisc(Vector3, Vector3, float, float))](/api/media?file=/engine/6000.6/media/images/HandlesDrawWireDiscThickness.png)

*Discs of varying thickness.*

```csharp
using UnityEngine;
using UnityEditor;

public class ExampleScript : MonoBehaviour
{
}

// Displays circles of various thickness in the scene view
[CustomEditor(typeof(ExampleScript))]
public class ExampleEditor : Editor
{
    public void OnSceneGUI()
    {
        var t = target as ExampleScript;
        var tr = t.transform;
        var position = tr.position;
        Handles.color = Color.yellow;
        for (int i = 0; i < 10; ++i)
        {
            Handles.DrawWireDisc(position + Vector3.right * i, Vector3.forward, 2, i);
        }
    }
}
```

Additional Resources: [Handles.lineThickness](/engine/6000.6/script-reference/unityeditor/handles/linethickness.md), [Handles.DrawLine](/engine/6000.6/script-reference/unityeditor/handles/drawline.md), [Handles.DrawSolidDisc](/engine/6000.6/script-reference/unityeditor/handles/drawsoliddisc.md), [Handles.DrawWireArc](/engine/6000.6/script-reference/unityeditor/handles/drawwirearc.md).
