# UPM package Asset Store publishing workflow

> Overview of the UPM publishing workflow and prerequisites for creating UPM packages.

You can create a [Unity Package Manager (UPM) package](https://docs.unity3d.com/6000.6/Documentation/Manual/upm-package-types.html) from assets that you own and make it available to download on the [Unity Asset Store](https://assetstore.unity.com/). Manage UPM packages through the UPM publishing portal, which is different from the [Editor publishing workflow](/asset-store/publishing/asset-packages/workflow.md).

> **Important:**
>
> An Editor must be compliant with [Unity Core Standards](https://unity.com/core-standards) and therefore meet certain requirements. For more information, refer to the [Asset Store Provider Agreement](https://unity.com/legal/provider) and the [Submission Guidelines](https://unity3d.com/asset-store/sell-assets/submission-guidelines).

## UPM package and products

The UPM publishing workflow introduces the concept of a product. A product is different from a package in the following ways:

* A product is a container that can include one or more UPM packages.
* Customers can get a product from the Asset Store.
* A package stores scripts, features, and assets for Unity, including Editor or Runtime tools and libraries, asset collections, and Editor templates.

Create a [product draft](/asset-store/publishing/upm-packages/create-draft.md) in the Publisher Portal to manage and configure the structure of your packages. A product can contain one or multiple packages. For more information, refer to [Create a Publisher Portal package draft](/asset-store/publishing/upm-packages/create-draft.md).

## UPM package namespaces

UPM packages require consistent namespaces. The following table shows each of the namespaces you need to set for the different stages of the UPM publishing workflow:

| **UPM workflow step**                                | **Namespace action**                                                                                                   | **Description**                                                                                                                                                                                                                                     |
| ---------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Sign up to the UPM workflow**                      | Set a publisher namespace.                                                                                             | Establish and claim a namespace for your packages during the enrollment process.                                                                                                                                                                    |
| **Create a UPM product draft for a single package**  | Set a product namespace.                                                                                               | Assign a product namespace. The product namespace becomes part of the technical name.                                                                                                                                                               |
| **Create a UPM product draft for multiple packages** | Set a product namespace and a package namespace for each package.                                                      | Assign a package namespace for each package you add. The package namespace becomes part of the technical name.                                                                                                                                      |
| **Create and validate UPM packages**                 | Set the UPM package folder and `package.json` namespaces in the `name` field.                                          | The UPM package folder and the `package.json` name must match the package's technical name.                                                                                                                                                         |
| **Upload UPM packages**                              | The Asset Store Publishing Tools checks and matches the package technical name to the one set on the Publisher Portal. | If the publisher space doesn't match the product namespace, a button appears that you can select to create a new ID. If the technical name doesn't match the product namespace, a button appears that you can select to create a new product draft. |

For more information about setting namespaces, refer to [Create a Publisher Portal package draft](/asset-store/publishing/upm-packages/create-draft.md).

## Prerequisites

To publish assets to the UPM publishing portal, you must first create the following:

1. [Create a Unity ID](https://id.unity.com/account/new).
2. [Set up an Asset Store publisher profile](/asset-store/publishing/create-account.md).
3. [Enroll as a UPM publisher on the Publisher Portal](/asset-store/publishing/upm-packages/apply.md)

## Publish a UPM package to the Asset Store

To publish a Editor to the Asset Store, you need to enroll on the Publisher Portal. To learn more, refer to [UPM Publishing on the Asset Store](https://assetstore.unity.com/publishing/upm-publishing).

To create and publish a UPM package, perform the following steps:

1. [Create a product draft](/asset-store/publishing/upm-packages/create-draft.md).
2. [Validate and upload your package](/asset-store/publishing/upm-packages/validate.md).
3. [Submit the package for approval](/asset-store/publishing/upm-packages/submit.md).

You can then [check the status of the package](/asset-store/publishing/upm-packages/check-status.md), and once published, you can make [further updates in the Publisher Portal](/asset-store/publishing/upm-packages/update.md).

## Additional resources

* [Enroll as a UPM publisher on the Publisher Portal](/asset-store/publishing/upm-packages/apply.md)
* [Create a Publisher Portal product draft](/asset-store/publishing/upm-packages/create-draft.md)
* [Managing your organization](/cloud/organizations.md)
* [Asset Store packages](/asset-store/downloads/asset-store-packages.md)
