Important: This is an early access workflow, and is available only to selected publishers to publish free Unity Package Manager (UPM) packages. To register your interest and apply for early access to UPM publishing, go to UPM Publishing on the Asset Store.
Before you can validate and publish your package, you must create a product draft in the Publisher Portal.
To access the Publisher Portal for UPM publishing, you must select the organization that has been granted early access as follows:
You can then access the Publisher Portal in the following ways:
You can configure a product to handle single or multiple packages, as follows:
During the early access period, you must choose this configuration upfront, but for general availability, you can start with a single package and add more later.
When planning dependencies, use multiple packages if dependencies are only needed within one product. Dependent packages automatically install their dependencies. However, if a dependency is shared across multiple products, list it as its own separate product to avoid conflicts and project breaks. For more information about package dependencies, refer to Package dependency and resolution.
The following table compares the properties of each product structure:
| Property | Single package product | Multiple package product | 
|---|---|---|
| Number of packages | One | Two or more | 
| Compatibility | Compatible with multiple Unity versions, render pipelines, or build targets. | Optionally, each package can be compatible with a different Unity version, render pipelineA series of operations that take the contents of a Scene, and displays them on a screen. Unity lets you choose from pre-built render pipelines, or write your own. More info See in Glossary, or build target.  | 
| Version history | Single version history. | Separate version history for each package. | 
| Support dependency | No | Yes | 
| Architecture | Monolithic. All features bundled together. | Can include core and optional packages, and package dependencies. | 
| Dependencies | Publish a dependency as a single-package product when two or more different products require this dependency. | Publish a dependency as a multi-package product when any package in one product requires this dependency. | 
By default the uploaded Unity Editor version is checked for every package uploaded. Additionally, you can list all supported Unity versions that it’s compatible with (major.minor). For build target and render pipeline, setting a specific compatibility is optional.
To create a product draft:
When a product has only one package, the product namespace and package namespace are the same, which follows the naming convention of com.publisher.product. When a product has multiple packages, the product namespace follows the naming convention of com.publisher.product (for example com.unity.assetstore), and the package namespaces follow the naming convention of com.publisher.product.package1 (for example com.unity.assetstore.tools). 
The following table describes the information each namespace identifies and its format in a complete UPM namespace:
| Namespace type | Description | Example | 
|---|---|---|
| Publisher namespace | The publisher organization. This namespace uses the reverse domain name notation (reverse-DNS) naming convention. For example, the domain example.com has the publisher namespace com.example. | 
	com.publisher | 
| Product namespace | The product. This namespace isn’t visible in the product’s Asset Store listing. | .product | 
| Package namespace | The packages that the product contains. Set a package’s namespace only for multi-package products. | 
  | 
| Package technical name | The package technical name combines the publisher namespace, the product namespace, and for multi-package products, the package namespace. The Package’s technical name must match the following:
  | 
	
  | 
Note: The publisher namespace (com.publisher) is set during enrolment to the development membership program. If you need to change it, you must contact Unity support.