> 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/guides/adding-a-version.md).

# Adding a Version to an Existing Asset

Once a Virtual Asset already exists, add new files to it as new versions directly from its detail page — you don't need to go through the asset creation wizard again.

## Step 1 — Open the upload form

1. Go to the asset's detail page (**Assets → Single**, then select the asset).
2. In the **Versions** card, click the **+** button next to the card title (tooltip: "Add a new version").

{% hint style="info" %}
This button only appears if you have create permission on **Asset Version**. If you don't see it, ask an admin on your domain.
{% endhint %}

This opens **Add New Version**, with the asset's ID and type shown read-only for reference.

If you arrived here via **Add as New Version** from the duplicate-check step of asset creation (see [Creating a Virtual Asset](/umber/guides/creating-a-virtual-asset.md)), your file carries over automatically — a note confirms which file was carried over from your previous selection.

## Step 2 — Fill in the version

Fields appear in this order on screen: the file first, then the version details.

| Field           | Required | Notes                                                                                     |
| --------------- | -------- | ----------------------------------------------------------------------------------------- |
| File            | Yes      | Drag-and-drop or click to browse. A preview shows filename, type, and size once selected. |
| Version Name    | Yes      | Up to 64 characters.                                                                      |
| Target Platform | Yes      | `generic`, `web`, `ios`, or `android`.                                                    |

{% hint style="info" %}
There's no check for a duplicate version name or platform — you can reuse either. Version identifiers are generated per platform (a counter per Asset + Target Platform pair), not globally per asset, so your first `web` version and your first `ios` version can both end up numbered "1" under their platform's own prefix.
{% endhint %}

The file is validated as you select it:

* **Wrong type for this asset** — e.g. uploading a video to an Image asset — is rejected immediately: *"Please ensure that you are uploading a file of the correct type."*
* **Over your plan's upload size limit** is rejected immediately: *"Please upgrade your plan to upload files of more than {limit} MB"*

## Step 3 — Upload

Click submit. Larger files upload directly with a live progress bar ("Uploading… X%"), then a brief "Processing…" state; smaller files go through a quicker path with a simulated progress step.

## After upload

On success, you're offered two options:

* **Asset Detail** — back to the asset's detail page, where the new version now appears in the list.
* **Deploy Version** — straight to that version's deployment page, to make it Live in an environment (see the [Quickstart](/umber/getting-started/quickstart.md) for the deploy steps). To manage this version alongside every other version and environment on the asset at once, use [Managing Deployments](/umber/guides/managing-deployments.md) from the asset detail page instead.

If it fails:

* **Storage Limit Exceeded** — a dedicated dialog when the upload would exceed your plan's storage or upload-size limit.
* **Failed Version Upload** — a dialog with the server's message, for validation errors, permission issues, or other server errors.

There's no limit on how many versions an asset can have.

## See also

* [Creating a Virtual Asset](/umber/guides/creating-a-virtual-asset.md) — for adding the *first* version when an asset doesn't exist yet.
* [Deleting Assets and Versions](/umber/guides/deleting-assets-and-versions.md) — for removing a version you no longer need.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://umber.gitbook.io/umber/guides/adding-a-version.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
