# mainTextureScale

> The scale of the main texture.

## Definition

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

```csharp
public Vector2 mainTextureScale { 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.6/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.GetTextureScale](/engine/6000.6/script-reference/unityengine/material/gettexturescale.md) or [Material.SetTextureScale](/engine/6000.6/script-reference/unityengine/material/settexturescale.md) with the property name of the main texture as a parameter.

Additional Resources: [Material.SetTextureScale](/engine/6000.6/script-reference/unityengine/material/settexturescale.md), [Material.GetTextureScale](/engine/6000.6/script-reference/unityengine/material/gettexturescale.md), [ShaderLab: Properties](/engine/6000.6/manual/materials-and-shaders/shaders/reference/sl-reference/sl-shader-object/sl-properties.md), [ShaderPropertyFlags.MainTexture](/engine/6000.6/script-reference/unityengine/rendering/shaderpropertyflags/maintexture.md).

### Examples

```csharp
using UnityEngine;

public class Example : MonoBehaviour
{
    Renderer rend;

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

    void Update()
    {
        // Animates main texture scale in a funky way!
        float scaleX = Mathf.Cos(Time.time) * 0.5f + 1;
        float scaleY = Mathf.Sin(Time.time) * 0.5f + 1;
        rend.material.mainTextureScale = new Vector2(scaleX, scaleY);
    }
}
```
