# DistanceToCube(Vector3, Quaternion, float)

> Returns the distance in pixels from the mouse pointer to a cube.

## Definition

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

```csharp
public static float DistanceToCube(Vector3 position, Quaternion rotation, float size)
```

### Parameters

**** (\[Vector3]\(/engine/6000.5/script-reference/unityengine/vector3)): Position of the cube.**** (\[Quaternion]\(/engine/6000.5/script-reference/unityengine/quaternion)): Rotation of the cube.**** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)): Size of the cube.

### Returns

| Type                                                          | Description                            |
| ------------------------------------------------------------- | -------------------------------------- |
| [float](https://learn.microsoft.com/dotnet/api/system.single) | Distance from mouse to cube in pixels. |

### Remarks

Calculates the screen space distance from the mouse pointer to a cube at given world space `position` with the given `rotation` and `size`.

Returns zero when mouse pointer is directly over the cube.

Uses the current camera to determine the distance.

```csharp
using UnityEngine;
using UnityEditor;

public class ExampleScript : MonoBehaviour
{
}

// Displays cube in scene view, and distance from mouse
// to the cube.
[CustomEditor(typeof(ExampleScript))]
public class ExampleEditor : Editor
{
    public void OnSceneGUI()
    {
        var t = target as ExampleScript;
        var tr = t.transform;
        var position = tr.position;
        var rotation = tr.rotation;
        var size = 1.0f;
        // draw a cube in scene
        Handles.color = Color.yellow;
        Handles.CubeHandleCap(0, position, rotation, size, Event.current.type);
        // calculate distance from mouse to cube, and display it
        var distance = HandleUtility.DistanceToCube(position, rotation, size);
        GUI.color = Color.black;
        Handles.Label(position, distance.ToString("F0"));
        // make scene view repaint on mouse move
        if (Event.current.type == EventType.MouseMove)
            Event.current.Use();
    }
}
```

![HandleUtilityDistanceToCube (DistanceToCube(Vector3, Quaternion, float))](/api/media?file=/engine/6000.5/media/images/HandleUtilityDistanceToCube.png).

Additional Resources: [HandleUtility.DistanceToCircle](/engine/6000.5/script-reference/unityeditor/handleutility/distancetocircle.md), [HandleUtility.DistanceToCone](/engine/6000.5/script-reference/unityeditor/handleutility/distancetocone.md), [HandleUtility.DistanceToLine](/engine/6000.5/script-reference/unityeditor/handleutility/distancetoline.md).
