# Variables

> Typed values, lists and key–value maps the operator edits live — with sorting and reordering that animates on air.

Glider documentation · Data · Web page: https://cgglider.com/docs/variables/

Sections of this page: [Overview](https://cgglider.com/docs/variables.md) · [Lists from a design](https://cgglider.com/docs/variables/lists.md) · [List container](https://cgglider.com/docs/variables/list-container.md) · [Binding to lists](https://cgglider.com/docs/variables/binding.md) · [Sorting & reordering](https://cgglider.com/docs/variables/sorting.md) · [Row motion](https://cgglider.com/docs/variables/motion.md) · [Maps & single values](https://cgglider.com/docs/variables/maps-values.md) · [Remote control](https://cgglider.com/docs/variables/remote.md)

What a Variable is and where the scene reads it.

A Variable is a named, typed value that belongs to the page: a single value (text, number, on/off, colour, image), a list of rows with fields, or a key–value map. You create and edit them in the Variables tab of the right dock — no code, no JSON. The scene reads every Variable at vars.<name>, so anything that can bind to page data can show it.

| Type | Holds | Read it at |
| --- | --- | --- |
| Text, Number, Boolean, Color, Image | One value | vars.title |
| List | Rows with typed fields (a team's name, score, logo…) | vars.standings[].name — one per repeated row; vars.standings[0].name — the first row |
| Key–value map | A lookup table (team code → colour) | vars.colors.GS |

- Every list row carries an id that never changes and a rank (1, 2, 2, 4 while sorted — equal values share a rank).
- Numbers never become NaN on air: typing 12a into a score keeps the last good value.
- Renaming a Variable, or a field of a list, moves every binding that reads it.
- Every edit is one undo step and reaches the live output like any other change.

> **Variables or page data?:** Use a Variable for anything an operator changes during the show — scores, standings, line-ups, a headline. Plain page data (Logic → Data) is better for fixed setup values and for paths a data feed or unit writes.

![The Variables tab with a list.](https://cgglider.com/docs-shots/variables-panel.png)
