> For the complete documentation index, see [llms.txt](https://docs.incari.com/incari-studio/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.incari.com/incari-studio/2023.1/toolbox/incari/material/setcustomuniforms.md).

# Set Custom Uniform

## Overview

![The Set Custom Uniform Node.](/files/7N2qmooMoJR9o3W1GdaU)

The **Set Custom Uniform Node** allows the user to set values for a **Custom Material's** `Uniforms` **Attributes**, which are found specifically in the [**Custom Shading Model**](/incari-studio/2023.1/modules/material-editor/customshadingmodel.md).

[**Scope**](/incari-studio/2023.1/toolbox/overview.md#scopes): **Scene**, **Function**, **Prefab**

## Attributes

![The Set Custom Uniform Node Attributes](/files/8JsEd7rgOUN1RtRqAKby)

| Attribute        | Type           | Description                                                                                           |
| ---------------- | -------------- | ----------------------------------------------------------------------------------------------------- |
| `CustomUniforms` | **MaterialID** | The **Custom Material** whose `Uniforms` will be set, if one is not attached in the **Input Socket**. |

## Inputs

| Input             | Type           | Description                                                                                                                |
| ----------------- | -------------- | -------------------------------------------------------------------------------------------------------------------------- |
| *Pulse Input* (►) | **Pulse**      | A standard **Input Pulse**, to trigger the execution of the **Node**.                                                      |
| `Material ID`     | **MaterialID** | The **Custom Material** whose `Uniforms` will be set.                                                                      |
| `iChannelx`       | **TextureID**  | A *texture map* to set as a `Uniform`. The *x* refers to the identifying integer in the name, which can be 0, 1, 2, and 3. |
| `iVec4x`          | **Vector4**    | A **Vector4** to set as a `Uniform`. The *x* refers to the identifying integer in the name, which can be 0, 1, 2, and 3.   |
| `iFloatx`         | **Float**      | A **Float** to set as a `Uniform`. The *x* refers to the identifying integer in the name, which can be 0, 1, 2, and 3.     |
| `iIntx`           | **Int**        | An **Int** to set as a `Uniform`. The *x* refers to the identifying integer in the name, which can be 0, 1, 2, and 3.      |
| `iBoolx`          | **Bool**       | A **Bool** to set as a `Uniform`. The *x* refers to the identifying integer in the name, which can be 0, 1, 2, and 3.      |

## Outputs

| Output             | Type      | Description                                                                                                                            |
| ------------------ | --------- | -------------------------------------------------------------------------------------------------------------------------------------- |
| *Pulse Output* (►) | **Pulse** | A standard **Output Pulse**, to move onto the next **Node** along the **Logic Branch**, once this **Node** has finished its execution. |
