# Color(Color)

> Sets current vertex color.

## Definition

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

```csharp
public static void Color(Color c)
```

### Parameters

**** (\[Color]\(/engine/6000.6/script-reference/unityengine/color)):&#x20;

### Remarks

In OpenGL this matches `glColor4f(c.r,c.g,c.b,c.a)`; on other graphics APIs the same functionality is emulated.

In order for per-vertex colors to work reliably across different hardware, you have to use a shader that binds in the color channel. See BindChannels documentation.

This function can only be called between [GL.Begin](/engine/6000.6/script-reference/unityengine/gl/begin.md) and [GL.End](/engine/6000.6/script-reference/unityengine/gl/end.md) functions.

### Examples

```csharp
using UnityEngine;

public class Example : MonoBehaviour
{
    // Draws a red line from the bottom right
    // to the top left of the Screen
    // And a yellow line from the bottom left
    // to the top right of the Screen
    Material mat;

    void OnPostRender()
    {
        if (!mat)
        {
            Debug.LogError("Please Assign a material on the inspector");
            return;
        }
        GL.PushMatrix();
        mat.SetPass(0);
        GL.LoadOrtho();

        GL.Begin(GL.LINES);
        GL.Color(Color.red);
        GL.Vertex3(1, 0, 0);
        GL.Vertex3(0, 1, 0);
        GL.Color(Color.yellow);
        GL.Vertex3(0, 0, 0);
        GL.Vertex3(1, 1, 0);
        GL.End();

        GL.PopMatrix();
    }
}
```
