> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://documentation.celestory.io/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# ⬜ Multi Assign

# ⬜ Multi Assign

${frame}[Video: anatomy of the Multi Assign block](https://celestory-docs-videos.netlify.app/en/anatomie-bloc/multiassign.html)

![Multi Assign](https://celestory-docs-illustrations.netlify.app/en/MultiAssign_EN.svg)

The Multiple Assignment block allows several variables to be modified simultaneously in a single block, thus avoiding the repeated use of individual assignment blocks. Ideal for resetting counters or updating multiple user data in a single operation.

## 📥 Entries

- in (Signal): Triggers the assignment or modification of variables.
- count (Number): Defines the number of variables to modify. The block dynamically adjusts the number of variable/value pairs based on this value.
- variable (Variable): Target variable to modify (repeated as many times as specified by number).
- value (Any): New value to assign to the target variable (repeated as many times as specified by number).

## 📤 Outings

- out (Signal): Activates once all variables have been successfully modified.

## 💡 Example of use

Scenario: Resetting a player's statistics at the start of the game

1. The player presses the “New Game” button.
1. The flow triggers a reset sequence.
1. The Multiple Assignment block is configured with number = 3 to modify 3 variables.
1. The variable/value pairs are connected:

- score → 0
- lives → 3
- level → 1

1. The out signal activates the continuation of the flow (eg: display of the starting screen).

## ⚙️ Technical Details

- Dynamic behavior: The number of variable/value pairs automatically adapts to the value of number. If number is changed, additional entries are added or removed.
- Validation: All variables must be defined before execution to avoid errors. The block does not process uninitialized variables.

---

*Documented version: v1*