> For the complete documentation index, see [llms.txt](https://traps.runemarkstudio.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://traps.runemarkstudio.com/traps/utility/texture-mover.md).

# Texture Mover

You can define states in this component and assign texture offsets to this state.&#x20;

The script iterates through all the children's renderers and sets the main texture offset to the value defined in the given state.

```csharp
public void SetState(string name)

// Resets the state to the first one in the list.
public void ResetState()
```

**Setting up the Texture Mover**

Attach the script on the game object you want to modify. Add States and fill out the corresponding UV Coordinates for each state.

![](/files/-MW9fg4bAMACD2GSllYw)

![](/files/-MW9goPkOE7zbxptVwDU)

**Triggering the Texture mover**

You can raise this event from any Trigger as a Function.

![](/files/-MW9hLVQk8qk5vfB4gwv)

{% hint style="info" %}
**Note:** The script iterates on the game object and all its children and modifies the first Material instance it finds. It does not modify the Material in the project, only the instance it is attached. If a game object has multiple material slots, the script only modifies the first one.
{% endhint %}
