# Push Array Element

## Overview

![The Push Array Element Node.](https://4263346935-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLnh3x8s9fddWeG8TaAug%2Fuploads%2Fgit-blob-659fce82f83b589b144ee98db0bd730a1be980ca%2Fpusharrayelementnode20241.png?alt=media)

**Push Array Element** adds element/s to an **Array**. The **Array** is given as input to the **Node**.

If no **Array** is given as input, the elements are added to a new, empty **Array**.

[**Scope**](https://docs.incari.com/incari-studio/2024.1/overview#scopes): **Project**, **Scene**, **Function**, **Prefab**.

## Attributes

![The Push Array Element Node Attributes](https://4263346935-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLnh3x8s9fddWeG8TaAug%2Fuploads%2Fgit-blob-e8df051f2fbd0cbd416ffc4577681ed14776e01b%2Fpusharrayelementattributes.png?alt=media)

`Inputs` - The number of **Input** elements you wish to add to the **Input** **Array**. Each element has the following **Attributes**:

| Attribute       | Type                                          | Description                                                                                                                                       |
| --------------- | --------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Data Type`     | **Drop-down**                                 | The `Data Type` of the element you wish to add the **Input** **Array**.                                                                           |
| `Default Value` | *Defined in the* `Data Type` ***Attribute***. | A `Default Value` you wish to add to the **Array** if no value is provided to the **Input** **Socket**.                                           |
| `Add to end`    | **Bool**                                      | If the toggle is switched on, the desired element is added to the back of the **Array** otherwise it will be added to the front of the **Array**. |

## Inputs

| Input              | Type                                         | Description                                                           |
| ------------------ | -------------------------------------------- | --------------------------------------------------------------------- |
| *Pulse Input* (►)  | **Pulse**                                    | A standard **Input Pulse**, to trigger the execution of the **Node**. |
| `Array (optional)` | **Array**                                    | An **Array** to which you wish to add element/s.                      |
| `Value [n]`        | *Defined in the* `Data Type` ***Attribute*** | The value you wish to add to a desired **Array**.                     |

## 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. |
| `Array`            | **Array** | The resulting **Array** after the desired values are successfully added.                                                               |

## See Also

* [**Array Value**](https://docs.incari.com/incari-studio/2024.1/toolbox/array/array-value)
* [**Pop Array Element**](https://docs.incari.com/incari-studio/2024.1/toolbox/array/pop-array-element)
