> For the complete documentation index, see [llms.txt](https://umber.gitbook.io/umber/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://umber.gitbook.io/umber/concepts/virtual-collections.md).

# Virtual Collections

Sometimes you need to group several assets together and reference them as a single unit — **Collections** are built for that. A collection can hold one asset type or a mix of types.

A common example: a product on an e-commerce site, where the product has multiple images, a 3D model, videos, PDFs, and JSON spec data. Grouping these together makes them far easier to fetch and manage consistently.

## Structure

A collection has two parts:

* **Definition** — the collection's ID, name, and other attributes
* **Items** — the actual files, which can be of various asset types

The Collection ID is a unique slug of letters, numbers, hyphens and underscores, up to 50 characters, and can't be changed once the collection exists. `actions` is reserved and can't be used.

## Characteristics

* A collection can contain multiple asset types, or be restricted to specific ones.
* The number of items is limited to a service-configured ceiling, currently **5,000** per collection.
* Collections do not have versions (unlike individual Virtual Assets).
* A collection can be tagged to a specific platform.

## Examples

* Product images, videos, and PDFs on an e-commerce site
* Tutorial videos, transcripts, and questions on a learning platform
* Game assets bundled for a specific release

## Deploying a collection

A collection is deployed to an environment as a single unit and is Live, Offline, or not deployed there — the same three states an asset version has. Since a collection has no versions, there's no "which one is default" question to resolve: a collection has one Live pointer per environment, full stop. See [Deployment States](/umber/concepts/deployment-states.md) for how this compares to asset versions.

## Shared items and deletion

An item can belong to more than one collection: copying an item into another collection adds the collection to the same item, without duplicating the file. That decides what deletion does:

* **Removing an item** from one collection only detaches it while any other collection still holds it. Removing it from its **last** collection deletes the item and its file for good.
* **Deleting** a collection is reversible: nothing is removed, so its items keep counting toward your storage. **Purging** a deleted collection permanently removes it along with the items that belonged only to it, and their files.

Storage usage always reflects the files that are actually stored, so it drops as soon as an item's last collection lets go of it. See [Deleting Collections and Items](/umber/guides/deleting-collections-and-items.md).
