Version: 2020.3
Creating custom packages
Package layout

Naming your package

There are two names for a package: the official name you register the package with; and the user-facing display name that users can see in the Editor.

The display name should be brief but provide some indication of what the package contains. Otherwise, the Unity Package Manager imposes no restrictions on the display name.

The official name must conform to the Unity Package Manager naming convention, which uses reverse domain name notation. The name must:

  • Start with <domain-name-extension>.<company-name> (for example, com.example or net.example), even if your company or website name begins with a digit.
  • Be no more than 50 characters if you want it to be visible in the Editor. If the package name does not need to appear in the Editor, the Unity Package Manager imposes a limit of 214 characters or less.
  • Contain only lowercase letters, digits, hyphens(-), underscores (_), and periods (.)
  • To indicate nested namespaces, suffix the namespace with an additional period. For example, “com.unity.2d.animation” and “com.unity.2d.ik”.

For example, “com.unity.2d.animation” and “com.unity.2d.ik” are the names of two Unity 2D packages, but a custom package developer at https://example.net might create a package named “net.example.physics”. Use your own company name in your package names. Do not use the “unity” prefix in your own package names.

Note: These naming restrictions apply only to the package names themselves and do not need to match the namespace in your code. For example, you could use Project3dBase as a namespace in a package called net.example.3d.base.


Creating custom packages
Package layout