# mainTextureOffset

> The offset of the main texture.

## Definition

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

```csharp
public Vector2 mainTextureOffset { get; set; }
```

### Remarks

By default, Unity considers a texture with the property name name `"_MainTex"` to be the main texture. Use the `[MainTexture]` [ShaderLab Properties attribute](/engine/6000.0/manual/materials-and-shaders/shaders/reference/sl-reference/sl-shader-object/sl-properties.md) to make Unity consider a texture with a different property name to be the main texture.

This is the same as calling [Material.GetTextureOffset](/engine/6000.0/script-reference/unityengine/material/gettextureoffset.md) or [Material.SetTextureOffset](/engine/6000.0/script-reference/unityengine/material/settextureoffset.md) with the property name of the main texture as a parameter.

Additional Resources: [Material.SetTextureOffset](/engine/6000.0/script-reference/unityengine/material/settextureoffset.md), [Material.GetTextureOffset](/engine/6000.0/script-reference/unityengine/material/gettextureoffset.md), [ShaderLab: Properties](/engine/6000.0/manual/materials-and-shaders/shaders/reference/sl-reference/sl-shader-object/sl-properties.md), [ShaderPropertyFlags.MainTexture](/engine/6000.0/script-reference/unityengine/rendering/shaderpropertyflags/maintexture.md).

### Examples

```csharp
using UnityEngine;

public class Example : MonoBehaviour
{
    // Scroll the main texture based on time

    float scrollSpeed = 0.5f;
    Renderer rend;

    void Start()
    {
        rend = GetComponent<Renderer> ();
    }

    void Update()
    {
        float offset = Time.time * scrollSpeed;
        rend.material.mainTextureOffset = new Vector2(offset, 0);
    }
}
```
