# SetVector

> Sets a value for a named vector in the material.

## Definition

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

## SetVector(string, Vector4)

Sets a value for a named vector in the material.

```csharp
public void SetVector(string name, Vector4 value)
```

### Parameters

**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): Property name, e.g. "\_WaveAndDistance".**** (\[Vector4]\(/engine/6000.6/script-reference/unityengine/vector4)): Vector value to set.

### Remarks

Four component vectors and colors are the same in Unity shaders. `SetVector` does almost exactly the same as [Material.SetColor](/engine/6000.6/script-reference/unityengine/material/setcolor.md) just the input data type is different (`xyzw` in the vector becomes `rgba` in the color). The only difference is that color values are be converted from sRGB to Linear value, when using linear color space (see [properties in shader programs](/engine/6000.6/manual/materials-and-shaders/shaders/writing-custom/shader-writing/writing-shader-change-properties/sl-properties-in-programs.md)).

You can also use SetVector to assign values to float2 or float3 properties defined in the shader.

Additional Resources: [Material.SetColor](/engine/6000.6/script-reference/unityengine/material/setcolor.md), [Material.GetVector](/engine/6000.6/script-reference/unityengine/material/getvector.md), [Shader.PropertyToID](/engine/6000.6/script-reference/unityengine/shader/propertytoid.md), [Properties in Shader Programs](/engine/6000.6/manual/materials-and-shaders/shaders/writing-custom/shader-writing/writing-shader-change-properties/sl-properties-in-programs.md).

### Examples

```csharp
using UnityEngine;

public class SetVectorExample : MonoBehaviour
{
    public Material targetMaterial;

    void Start()
    {
        Vector4 customVector = new Vector4(1.0f, 0.5f, 0.0f, 1.0f);

        // Set the vector to a shader property named "_CustomVector"
        targetMaterial.SetVector("_CustomVector", customVector);
    }
}
```

## SetVector(int, Vector4)

Sets a value for a named vector in the material.

```csharp
public void SetVector(int nameID, Vector4 value)
```

### Parameters

**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): Property name ID, use [Shader.PropertyToID](/engine/6000.6/script-reference/unityengine/shader/propertytoid.md) to get it.**** (\[Vector4]\(/engine/6000.6/script-reference/unityengine/vector4)): Vector value to set.

### Remarks

Four component vectors and colors are the same in Unity shaders. `SetVector` does almost exactly the same as [Material.SetColor](/engine/6000.6/script-reference/unityengine/material/setcolor.md) just the input data type is different (`xyzw` in the vector becomes `rgba` in the color). The only difference is that color values are be converted from sRGB to Linear value, when using linear color space (see [properties in shader programs](/engine/6000.6/manual/materials-and-shaders/shaders/writing-custom/shader-writing/writing-shader-change-properties/sl-properties-in-programs.md)).

You can also use SetVector to assign values to float2 or float3 properties defined in the shader.

Additional Resources: [Material.SetColor](/engine/6000.6/script-reference/unityengine/material/setcolor.md), [Material.GetVector](/engine/6000.6/script-reference/unityengine/material/getvector.md), [Shader.PropertyToID](/engine/6000.6/script-reference/unityengine/shader/propertytoid.md), [Properties in Shader Programs](/engine/6000.6/manual/materials-and-shaders/shaders/writing-custom/shader-writing/writing-shader-change-properties/sl-properties-in-programs.md).

### Examples

```csharp
using UnityEngine;

public class SetVectorExample : MonoBehaviour
{
    public Material targetMaterial;

    void Start()
    {
        Vector4 customVector = new Vector4(1.0f, 0.5f, 0.0f, 1.0f);

        // Set the vector to a shader property named "_CustomVector"
        targetMaterial.SetVector("_CustomVector", customVector);
    }
}
```
