# SetVector

> Sets a named vector value.

## Definition

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

## SetVector(string, Vector4)

Sets a named vector value.

```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.0/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.0/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.0/manual/materials-and-shaders/shaders/writing-custom/shader-writing/writing-shader-change-properties/sl-properties-in-programs.md)).

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

## SetVector(int, Vector4)

Sets a named vector value.

```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.0/script-reference/unityengine/shader/propertytoid.md) to get it.**** (\[Vector4]\(/engine/6000.0/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.0/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.0/manual/materials-and-shaders/shaders/writing-custom/shader-writing/writing-shader-change-properties/sl-properties-in-programs.md)).

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