> For the complete documentation index, see [llms.txt](https://docs.engagevr.io/developer/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.engagevr.io/developer/creating-locations/network-states/example-network-state-configurations/network-state-change-materials.md).

# Network state change materials

You can use a network state to synchronize changes to one or more objects' materials.

<figure><img src="https://2640392766-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F5yxYHsXtlAaoMUrDWhLm%2Fuploads%2Fgit-blob-c303b88438782cbf49eb9144d2f9a71f47e056ee%2Fnetwork_state_materials_overview.png?alt=media" alt="" width="414"><figcaption><p>Component overview</p></figcaption></figure>

In the `NetworkStateTrigger_ChangeMaterials` component, you can set both a list of materials and a list of Mesh Renderers. You can then call methods to apply a material from the list to all referenced Mesh Renderers.

{% hint style="info" %}
You can provide a material index to change a specific material in a Mesh Renderer.
{% endhint %}

<figure><img src="https://2640392766-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F5yxYHsXtlAaoMUrDWhLm%2Fuploads%2Fgit-blob-b07e3f8e00d7ca6f4400a0499a70dabaaa708c84%2Fnetwork_state_mat_comp.png?alt=media" alt="" width="440"><figcaption><p>Example lists of materials and Mesh Renderers in the Change Materials component</p></figcaption></figure>

The following diagram shows an example of how to arrange the components in Unity, and the required references.

<figure><img src="https://2640392766-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F5yxYHsXtlAaoMUrDWhLm%2Fuploads%2Fgit-blob-07a5101d451a7dce1a1a110f2bdbcc40e10b5735%2Fnetwork_state_mat.png?alt=media" alt=""><figcaption><p>Example use of network states to synchronize cycling through a list of materials</p></figcaption></figure>
