> For the complete documentation index, see [llms.txt](https://docs.overthereality.ai/over-sdk-manual/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.overthereality.ai/over-sdk-manual/over-visual-scripting-legacy/nodes/components/engine/material.md).

# Material

### Description

A Material [OverNode](/over-sdk-manual/over-visual-scripting-legacy/visual-scripting-essentials/overnode.md) is used to handle [Materials](https://docs.unity3d.com/ScriptReference/Material.html) runtime.

#### Material Exposer

This [OverNode](/over-sdk-manual/over-visual-scripting-legacy/visual-scripting-essentials/overnode.md) is used to expose certain parameters and attributes of a given input Unity 3D [Material](https://docs.unity3d.com/ScriptReference/Material.html) asset, which are:

<table><thead><tr><th width="205.7659040188865">Name</th><th width="201.3279424240331">Type</th><th width="340.1572968009442">Description</th></tr></thead><tbody><tr><td>Ref</td><td><a href="https://docs.unity3d.com/ScriptReference/Material.html">Material</a></td><td>A reference of the input Unity3D Material Asset</td></tr><tr><td>Color</td><td>Color</td><td>The main color of the Material</td></tr><tr><td>Albedo</td><td><a href="https://docs.unity3d.com/ScriptReference/Texture2D.html">Texture2D</a></td><td>The main texture of the Material</td></tr><tr><td>Metallic</td><td>Float</td><td>In range 0 to 1, determines how “metal-like” the surface is</td></tr><tr><td>Metallic Map</td><td><a href="https://docs.unity3d.com/ScriptReference/Texture2D.html">Texture2D</a></td><td>The metallic gloss map of the Material</td></tr><tr><td>Metallic Smoothness</td><td>Float</td><td>In range 0 to 1, determines how smooth the surface is, influencing the light refraction of the material</td></tr><tr><td>Normal Map</td><td><a href="https://docs.unity3d.com/ScriptReference/Texture2D.html">Texture2D</a></td><td>Special kind of texture that allow you to add surface detail such as bumps, grooves, and scratches to a model which catch the light as if they are represented by real geometry</td></tr><tr><td>Height Map</td><td><a href="https://docs.unity3d.com/ScriptReference/Texture2D.html">Texture2D</a></td><td>Similar concept to normal mapping, however this technique is more complex - and therefore also more performance-intensive.</td></tr><tr><td>Height Value</td><td>Float</td><td>Value to edit the behaviour of the Height Map</td></tr><tr><td>Occlusion</td><td><a href="https://docs.unity3d.com/ScriptReference/Texture2D.html">Texture2D</a></td><td>Texture providing information about which areas of the model should receive high or low indirect lighting</td></tr><tr><td>Detail Mask</td><td><a href="https://docs.unity3d.com/ScriptReference/Texture2D.html">Texture2D</a></td><td>Texture allowing the mask off of certain areas of the model to have the detail texture applied</td></tr><tr><td>Emission</td><td><a href="https://docs.unity3d.com/ScriptReference/Texture2D.html">Texture2D</a></td><td>Texture allowing the Material to emit light, like a visible light source.</td></tr><tr><td>Emission Color</td><td>Color</td><td>Specifies the color and intensity of the emission</td></tr></tbody></table>

{% hint style="info" %}
**Note**: `Emission` and `Emission Color` are only available if the Emission Flag of the Material is set to True.
{% endhint %}

<figure><img src="/files/QxtEBY9ZRBHGBMj1U1gv" alt=""><figcaption></figcaption></figure>

### Handlers

#### Set Albedo

This [OverNode](/over-sdk-manual/over-visual-scripting-legacy/visual-scripting-essentials/overnode.md) is used to modify an existing Material, by changing the main texture and colour associated to it.

This Flow [OverNode](/over-sdk-manual/over-visual-scripting-legacy/visual-scripting-essentials/overnode.md) accepts the following input data:

<table><thead><tr><th width="186.7659040188865">Name</th><th width="244.3279424240331">Type</th><th width="340.1572968009442">Description</th></tr></thead><tbody><tr><td>Material</td><td><a href="https://docs.unity3d.com/ScriptReference/Material.html">Material</a></td><td>A reference of the input Unity3D Material</td></tr><tr><td>Color</td><td>Color</td><td>Color to be set</td></tr><tr><td>Albedo</td><td><a href="https://docs.unity3d.com/ScriptReference/Texture2D.html">Texture2D</a></td><td>Texture to be set as the new main texture</td></tr></tbody></table>

and produces the following output data:

<table><thead><tr><th width="186.7659040188865">Name</th><th width="207.3279424240331">Type</th><th width="340.1572968009442">Description</th></tr></thead><tbody><tr><td>Output</td><td><a href="https://docs.unity3d.com/ScriptReference/Material.html">Material</a></td><td>A reference of the modified Unity3D Material</td></tr></tbody></table>

<figure><img src="/files/GOLFQDcm7txeN9i8APOO" alt=""><figcaption></figcaption></figure>

#### Set Metallic

This [OverNode](/over-sdk-manual/over-visual-scripting-legacy/visual-scripting-essentials/overnode.md) is used to modify an existing Material, by editing its parameters associated with the Metallic Mode.

This Flow [OverNode](/over-sdk-manual/over-visual-scripting-legacy/visual-scripting-essentials/overnode.md) accepts the following input data:

<table><thead><tr><th width="186.7659040188865">Name</th><th width="209.3279424240331">Type</th><th width="340.1572968009442">Description</th></tr></thead><tbody><tr><td>Material</td><td><a href="https://docs.unity3d.com/ScriptReference/Material.html">Material</a></td><td>A reference of the input Unity3D Material</td></tr><tr><td>Metallic</td><td>Float</td><td>Sets how "metal like" the surface of the material will be</td></tr><tr><td>Metallic Map</td><td><a href="https://docs.unity3d.com/ScriptReference/Texture2D.html">Texture2D</a></td><td>The new metallic map of the Material</td></tr><tr><td>Metallic Smoothness</td><td>Float</td><td>Sets how smooth the surface of the material will be</td></tr></tbody></table>

and produces the following output data:

<table><thead><tr><th width="186.7659040188865">Name</th><th width="207.3279424240331">Type</th><th width="340.1572968009442">Description</th></tr></thead><tbody><tr><td>Output</td><td><a href="https://docs.unity3d.com/ScriptReference/Material.html">Material</a></td><td>A reference of the modified Unity3D Material</td></tr></tbody></table>

<figure><img src="/files/RfIh9UTRy5458mVlIE0u" alt=""><figcaption></figcaption></figure>

#### Set Normal Map

This [OverNode](/over-sdk-manual/over-visual-scripting-legacy/visual-scripting-essentials/overnode.md) is used to modify an existing Material, by setting a new Normal Map for the material.

This Flow [OverNode](/over-sdk-manual/over-visual-scripting-legacy/visual-scripting-essentials/overnode.md) accepts the following input data:

<table><thead><tr><th width="186.7659040188865">Name</th><th width="216.3279424240331">Type</th><th width="340.1572968009442">Description</th></tr></thead><tbody><tr><td>Material</td><td><a href="https://docs.unity3d.com/ScriptReference/Material.html">Material</a></td><td>A reference of the input Unity3D Material</td></tr><tr><td>Normal Map</td><td><a href="https://docs.unity3d.com/ScriptReference/Texture2D.html">Texture2D</a></td><td>The new Normal map of the Material</td></tr></tbody></table>

and produces the following output data:

<table><thead><tr><th width="186.7659040188865">Name</th><th width="207.3279424240331">Type</th><th width="340.1572968009442">Description</th></tr></thead><tbody><tr><td>Output</td><td><a href="https://docs.unity3d.com/ScriptReference/Material.html">Material</a></td><td>A reference of the modified Unity3D Material</td></tr></tbody></table>

<figure><img src="/files/H9G2arxT0gnEdXUnnMts" alt=""><figcaption></figcaption></figure>

#### Set Height Map

This [OverNode](/over-sdk-manual/over-visual-scripting-legacy/visual-scripting-essentials/overnode.md) is used to modify an existing Material, by setting a new Height Map for the material.

This Flow [OverNode](/over-sdk-manual/over-visual-scripting-legacy/visual-scripting-essentials/overnode.md) accepts the following input data:

<table><thead><tr><th width="186.7659040188865">Name</th><th width="216.3279424240331">Type</th><th width="340.1572968009442">Description</th></tr></thead><tbody><tr><td>Material</td><td><a href="https://docs.unity3d.com/ScriptReference/Material.html">Material</a></td><td>A reference of the input Unity3D Material</td></tr><tr><td>Height Map</td><td><a href="https://docs.unity3d.com/ScriptReference/Texture2D.html">Texture2D</a></td><td>The new Height map of the Material</td></tr><tr><td>Height Value</td><td>Float</td><td>New height value of the map (range 0 to 1)</td></tr></tbody></table>

and produces the following output data:

<table><thead><tr><th width="186.7659040188865">Name</th><th width="207.3279424240331">Type</th><th width="340.1572968009442">Description</th></tr></thead><tbody><tr><td>Output</td><td><a href="https://docs.unity3d.com/ScriptReference/Material.html">Material</a></td><td>A reference of the modified Unity3D Material</td></tr></tbody></table>

<figure><img src="/files/jCyjuzJoTgYb7jePJT8b" alt=""><figcaption></figcaption></figure>

#### Set Occlusion Map

This [OverNode](/over-sdk-manual/over-visual-scripting-legacy/visual-scripting-essentials/overnode.md) is used to modify an existing Material, by setting a new Occlusion Map for the material.

This Flow [OverNode](/over-sdk-manual/over-visual-scripting-legacy/visual-scripting-essentials/overnode.md) accepts the following input data:

<table><thead><tr><th width="186.7659040188865">Name</th><th width="216.3279424240331">Type</th><th width="340.1572968009442">Description</th></tr></thead><tbody><tr><td>Material</td><td><a href="https://docs.unity3d.com/ScriptReference/Material.html">Material</a></td><td>A reference of the input Unity3D Material</td></tr><tr><td>Occlusion Map</td><td><a href="https://docs.unity3d.com/ScriptReference/Texture2D.html">Texture2D</a></td><td>The new Occlusion map of the Material</td></tr></tbody></table>

and produces the following output data:

<table><thead><tr><th width="186.7659040188865">Name</th><th width="207.3279424240331">Type</th><th width="340.1572968009442">Description</th></tr></thead><tbody><tr><td>Output</td><td><a href="https://docs.unity3d.com/ScriptReference/Material.html">Material</a></td><td>A reference of the modified Unity3D Material</td></tr></tbody></table>

<figure><img src="/files/6CEheGRgsne4HW6Kpb54" alt=""><figcaption></figcaption></figure>

#### Set Detail Mask

This [OverNode](/over-sdk-manual/over-visual-scripting-legacy/visual-scripting-essentials/overnode.md) is used to modify an existing Material, by setting a new Detail Mask for the material.

This Flow [OverNode](/over-sdk-manual/over-visual-scripting-legacy/visual-scripting-essentials/overnode.md) accepts the following input data:

<table><thead><tr><th width="186.7659040188865">Name</th><th width="216.3279424240331">Type</th><th width="340.1572968009442">Description</th></tr></thead><tbody><tr><td>Material</td><td><a href="https://docs.unity3d.com/ScriptReference/Material.html">Material</a></td><td>A reference of the input Unity3D Material</td></tr><tr><td>Detail Mask</td><td><a href="https://docs.unity3d.com/ScriptReference/Texture2D.html">Texture2D</a></td><td>The new Detail mask of the Material</td></tr></tbody></table>

and produces the following output data:

<table><thead><tr><th width="186.7659040188865">Name</th><th width="207.3279424240331">Type</th><th width="340.1572968009442">Description</th></tr></thead><tbody><tr><td>Output</td><td><a href="https://docs.unity3d.com/ScriptReference/Material.html">Material</a></td><td>A reference of the modified Unity3D Material</td></tr></tbody></table>

<figure><img src="/files/VeSrJ1GRqFBwILHd34b5" alt=""><figcaption></figcaption></figure>

#### Set Emission Map

This [OverNode](/over-sdk-manual/over-visual-scripting-legacy/visual-scripting-essentials/overnode.md) is used to modify an existing Material, by setting a new Emission Map for the material.&#x20;

This Flow [OverNode](/over-sdk-manual/over-visual-scripting-legacy/visual-scripting-essentials/overnode.md) accepts the following input data:

<table><thead><tr><th width="186.7659040188865">Name</th><th width="216.3279424240331">Type</th><th width="340.1572968009442">Description</th></tr></thead><tbody><tr><td>Material</td><td><a href="https://docs.unity3d.com/ScriptReference/Material.html">Material</a></td><td>A reference of the input Unity3D Material</td></tr><tr><td>Emission Map</td><td><a href="https://docs.unity3d.com/ScriptReference/Texture2D.html">Texture2D</a></td><td>The new Emission map of the Material</td></tr><tr><td>Emission Color</td><td>Color</td><td>The color of the new Emission map</td></tr><tr><td>Intensity</td><td>Float</td><td>Intensity of the light emitted</td></tr></tbody></table>

and produces the following output data:

<table><thead><tr><th width="186.7659040188865">Name</th><th width="207.3279424240331">Type</th><th width="340.1572968009442">Description</th></tr></thead><tbody><tr><td>Output</td><td><a href="https://docs.unity3d.com/ScriptReference/Material.html">Material</a></td><td>A reference of the modified Unity3D Material</td></tr></tbody></table>

<figure><img src="/files/h8xtExxCXcbZu6XhlrAU" alt=""><figcaption></figcaption></figure>

#### Set Emission Flag

This [OverNode](/over-sdk-manual/over-visual-scripting-legacy/visual-scripting-essentials/overnode.md) is used to modify an existing Material, by editing the value of the Emission Flag of the Material.&#x20;

This Flow [OverNode](/over-sdk-manual/over-visual-scripting-legacy/visual-scripting-essentials/overnode.md) accepts the following input data:

<table><thead><tr><th width="186.7659040188865">Name</th><th width="216.3279424240331">Type</th><th width="340.1572968009442">Description</th></tr></thead><tbody><tr><td>Material</td><td><a href="https://docs.unity3d.com/ScriptReference/Material.html">Material</a></td><td>A reference of the input Unity3D Material</td></tr><tr><td>Emission</td><td>Boolean</td><td>The new Emission Flag value</td></tr></tbody></table>

and produces the following output data:

<table><thead><tr><th width="186.7659040188865">Name</th><th width="207.3279424240331">Type</th><th width="340.1572968009442">Description</th></tr></thead><tbody><tr><td>Output</td><td><a href="https://docs.unity3d.com/ScriptReference/Material.html">Material</a></td><td>A reference of the modified Unity3D Material</td></tr></tbody></table>

<figure><img src="/files/qwNyhDqccaFc7QMJdOrU" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.overthereality.ai/over-sdk-manual/over-visual-scripting-legacy/nodes/components/engine/material.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
