# Dynamic List UI

For each value in the Value List, the **Dynamic List UI** automatically instantiates a cell prefab. Attached to each prefab is a [**Dynamic Cell UI**](https://niam.gitbook.io/documentation/game-creator-2/uma-integration/dynamic-ui/dynamic-cell-ui) component, responsible for individual actions like displaying text or images of the value. Consider how this component could be used to create a list of inventory items, where each item has a name and icon displayed in its cell.

Unlike the **Dynamic Stepper UI**, the **Dynamic List UI** is clamped and keeps your selection index within its boundaries. It automatically sets to the last index if you try to go beyond and to the first index if you go below.

<figure><img src="https://348920791-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeQ7CIxHuad77enwt80mG%2Fuploads%2FTML27HLOmQEGAEulkZKM%2FDynamicListUIComponent.PNG?alt=media&#x26;token=237cbf74-f32e-49d1-b949-5c90a8e3a12f" alt="" width="461"><figcaption></figcaption></figure>

<table><thead><tr><th width="235">Name</th><th>Description</th></tr></thead><tbody><tr><td><strong>Target</strong></td><td>A game object that will be passed onto the 'On Selection Change' and 'On Refresh' of all generated cells as the target.</td></tr><tr><td><strong>Cell Prefab</strong></td><td>Reference to prefab with Dynamic Cell UI component attached.</td></tr><tr><td><strong>Cell Container</strong></td><td>Reference to transform where all prefab cells will be instantiated as its child. If no reference is supplied, self will be the container.</td></tr><tr><td><strong>Use Pooling</strong></td><td>Whether to reuse the previously generated cells or simply destroy the cells and create a new instances.</td></tr><tr><td><strong>Value List</strong></td><td>The Value List containing a collection of values to be iterated through by the Dynamic List UI.</td></tr><tr><td><strong>Initial Selected Index</strong></td><td>An index position of the value that will sets as the initial selection.</td></tr><tr><td><strong>Notify Selection Change</strong></td><td>Whether to initially run the instructions within the 'On Selection Change' at the start.</td></tr><tr><td><strong>Cache Selection</strong></td><td>An options to whether to save the selection or not after fetching the Value List.</td></tr><tr><td>        <strong>Forget</strong></td><td>Always lose the selection after fetching the Value List.</td></tr><tr><td>        <strong>Preserve Index</strong></td><td>Remember the selected index after fetching the Value List, if it still exists. cache index will persist until selection is changed.</td></tr><tr><td>        <strong>Preserve Value</strong></td><td>Remember the selected value after fetching the Value List, if it still exists. cache value will persist until selection is changed.</td></tr><tr><td><strong>Selection When Lost</strong></td><td>An options for what to select when the selection is lost after fetching the Value List. This won't notify On Selection Change.</td></tr><tr><td><strong>On Selection Change</strong></td><td>List of instructions that will be executed when the value selection is changed.</td></tr></tbody></table>
