Package layout for UPM packages
Explore the standard folder and file layout generated for UPM packages.
Read time 2 minutesLast updated 18 days ago
Explore the folder and file layout for Unity Package Manager (UPM) packages.
When you create the package structure, the Package Manager creates the following folder and file layout, which is consistent with UPM packages from the Unity Registry:
<package-root> ├── package.json ├── README.md ├── CHANGELOG.md ├── Third Party Notices.md ├── Editor │ ├── <organization-name>.<package-name>.Editor.asmdef │ └── EditorExample.cs ├── Runtime │ ├── <organization-name>.<package-name>.asmdef │ └── RuntimeExample.cs ├── Tests │ ├── Editor │ │ ├── <organization-name>.<package-name>.Editor.Tests.asmdef │ │ └── EditorExampleTest.cs │ └── Runtime │ ├── <organization-name>.<package-name>.Tests.asmdef │ └── RuntimeExampleTest.cs ├── Samples │ ├── Example │ └── ... └── Documentation └── <package-name>.md
File or folder | Description |
|---|---|
| The package manifest, which defines the package dependencies and other metadata. This file name must be lowercase. |
| Developer package documentation. This documentation helps developers who want to change the package or push a new change on the package's main branch. |
| Description of package changes in reverse chronological order. It's good practice to use a standard format, like Keep a Changelog. |
| Contains information that's required to meet legal requirements for third-party code or dynamic link libraries (DLL) used in your package. |
| Contains assets (which can include scripts and libraries) for tools and utilities used in the Unity Editor. Unlike folders under the project's |
| Contains assets (which can include scripts and libraries) for tools and utilities used at runtime. This is only a convention and doesn't affect the asset import pipeline. Refer to Assembly definition and packages to configure runtime assemblies in this folder. |
| Folder to store any tests included in the package. |
| Editor platform-specific tests folder. Refer to Create or edit the assembly definitions to configure Editor-specific test assemblies in this folder. |
| Runtime platform-specific tests. Refer to Create or edit the assembly definitions to configure runtime test assemblies in this folder. |
| Folder to store any samples included in the package. |
| Folder to store any documentation included in the package. |