> 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/getting-started/quickstart.md).

# Quickstart: Deploy Your First Asset

This walks through the dashboard flow for getting a single asset live: create an environment, create a virtual asset, upload a version, and deploy it.

{% hint style="info" %}
This guide creates an **unsecured** asset — one that doesn't require an API key to access. It's the fastest way to see Umber working end to end.
{% endhint %}

## Step 1 — Create an environment

1. Log in. You'll land on the **Home** page, which has quick action links.
2. Choose **Create New Environment**. An environment is the logical space you'll deploy asset versions into (e.g. `dev`, `staging`, `prod`).
3. Fill in:
   * **Environment ID**
   * **Environment Name**
   * **Description** (optional)
4. Click **Create Environment**. You'll land on the Environment list page.

## Step 2 — Create a virtual asset

A virtual asset is a logical container that holds every version of a given asset — your site logo, a hero banner, a game texture, and so on.

1. Click **Assets** in the top nav, then **Single**. This opens the Virtual Assets list.
2. Click **+** to start a new asset. The wizard walks you through uploading a file, checking for duplicates, and filling in the asset's details — leave **Require API Key** off for this walkthrough. Full field-by-field details: [Creating a Virtual Asset](/umber/guides/creating-a-virtual-asset.md).
3. On success, click **View Asset**, then open the version and choose **Deploy Version**.

## Step 3 — Deploy the version to your environment

1. From **Deploy Version**, you'll land on the Deployment page.
2. Select the environment you created in Step 1 (auto-selected if it's your only one).
3. Click **Set Live** to activate this version in the environment.
4. Once live, click **Set Default** to make it the version served by default in this environment.
5. Confirm — a green border and pointer marker now show on this version, meaning it's the one this environment currently serves by default. Its own state stays **Live**; "default" is which live version an environment currently points to, not a state a version is in — see [Deployment States](/umber/concepts/deployment-states.md).

{% hint style="info" %}
For an asset already deployed to several environments, the asset detail page's **Manage Deployments** button opens a single view of every environment and every version at once — see [Managing Deployments](/umber/guides/managing-deployments.md).
{% endhint %}

## Step 4 — Get the delivery URL

1. Go to the asset's detail page (**Home → Virtual Assets →&#x20;*****Asset ID***, or **Assets → Single** and select it).
2. In the **Default URLs** section, pick your environment. You'll get a URL shaped like:

```
https://adn.umbercloud.io/api/va/<domain-id>/<asset-id>/<env-id>/<platform-id>
```

Use this URL anywhere — plain HTML, a React component, a Unity game, an API response.

```html
<html>
  <head>
    <title>Umber URL Demo</title>
  </head>
  <body>
    <img width="100px" src="https://adn.umbercloud.io/api/va/<domain-id>/<asset-id>/<env-id>/<platform-id>">
  </body>
</html>
```

## Already have assets in a codebase?

If you're onboarding an existing project rather than starting from scratch, skip the manual per-asset flow above and use the [Umber CLI](/umber/cli-tools/umber-cli.md) instead — `umber assets migrate` scans your project, uploads everything it finds, and rewrites the code references for you. See [Migrating Assets with the CLI](/umber/guides/migrating-assets-with-cli.md).


---

# 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/getting-started/quickstart.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.
