# DrawMesh

> Draws a mesh gizmo at the specified transform.

## Definition

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

## DrawMesh(Mesh, int, Vector3, Quaternion, Vector3)

Draws a mesh gizmo at the specified transform.

```csharp
public static void DrawMesh(Mesh mesh, int submeshIndex, Vector3 position, Quaternion rotation, Vector3 scale)
```

### Parameters

**** (\[Mesh]\(/engine/6000.5/script-reference/unityengine/mesh)): The [Mesh](/engine/6000.5/script-reference/unityengine/mesh.md) to draw as a gizmo. Mesh objects can be created and managed, or retrieved through the [MeshFilter](/engine/6000.5/script-reference/unityengine/meshfilter.md) component.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): The submesh to draw. The default is -1, which draws the whole mesh.**** (\[Vector3]\(/engine/6000.5/script-reference/unityengine/vector3)): The mesh position in world space. The default position is zero.**** (\[Quaternion]\(/engine/6000.5/script-reference/unityengine/quaternion)): The mesh orientation in world space. The default is identity quaternion.**** (\[Vector3]\(/engine/6000.5/script-reference/unityengine/vector3)): Mesh scale in world space (default is scale of 1).

### Remarks

The mesh gizmo is drawn with the currently set [Gizmos.color](/engine/6000.5/script-reference/unityengine/gizmos/color.md). Additional Resources: [Gizmos.DrawWireMesh](/engine/6000.5/script-reference/unityengine/gizmos/drawwiremesh.md).

### Examples

```csharp
using UnityEngine;

public class ExampleClass : MonoBehaviour
{
    Mesh mesh = null;

    void OnDrawGizmosSelected()
    {
        // Draws a yellow Cube at the position of the object rotated by 45 degrees around the Y axis.
        if (mesh is null)
            mesh = Resources.GetBuiltinResource<Mesh>("Cube.fbx");
        Gizmos.color = Color.yellow;
        Gizmos.DrawMesh(mesh, transform.position, Quaternion.Euler(0f, 45f, 0f));
    }
}
```

## DrawMesh(Mesh, Vector3, Quaternion, Vector3)

Draws a mesh gizmo at the specified transform.

```csharp
public static void DrawMesh(Mesh mesh, Vector3 position, Quaternion rotation, Vector3 scale)
```

### Parameters

**** (\[Mesh]\(/engine/6000.5/script-reference/unityengine/mesh)): The [Mesh](/engine/6000.5/script-reference/unityengine/mesh.md) to draw as a gizmo. Mesh objects can be created and managed, or retrieved through the [MeshFilter](/engine/6000.5/script-reference/unityengine/meshfilter.md) component.**** (\[Vector3]\(/engine/6000.5/script-reference/unityengine/vector3)): The mesh position in world space. The default position is zero.**** (\[Quaternion]\(/engine/6000.5/script-reference/unityengine/quaternion)): The mesh orientation in world space. The default is identity quaternion.**** (\[Vector3]\(/engine/6000.5/script-reference/unityengine/vector3)): Mesh scale in world space (default is scale of 1).

### Remarks

The mesh gizmo is drawn with the currently set [Gizmos.color](/engine/6000.5/script-reference/unityengine/gizmos/color.md). Additional Resources: [Gizmos.DrawWireMesh](/engine/6000.5/script-reference/unityengine/gizmos/drawwiremesh.md).

### Examples

```csharp
using UnityEngine;

public class ExampleClass : MonoBehaviour
{
    Mesh mesh = null;

    void OnDrawGizmosSelected()
    {
        // Draws a yellow Cube at the position of the object rotated by 45 degrees around the Y axis.
        if (mesh is null)
            mesh = Resources.GetBuiltinResource<Mesh>("Cube.fbx");
        Gizmos.color = Color.yellow;
        Gizmos.DrawMesh(mesh, transform.position, Quaternion.Euler(0f, 45f, 0f));
    }
}
```
