Version: 2020.3
Meeting legal requirements
Sharing your package
How do you use documentation throughout your workflow? Share your experience with us by taking this survey.

Documenting your package

Most packages need some form of explanation to help users have the best experience and optimize its use. This page provides some tips for how to structure the information and format the documentation.

Structure of the information

After the title of the package, you should give a basic overview of what the package does and/or what it contains. Following the overview, include instructions for installing, and any system requirements and/or limitations. You can also provide links for getting help and providing feedback, including public forums or knowledge bases, and helpdesk contacts.

After this preliminary information, you can provide more in-depth workflows, description of the user interface or directory listings for samples, and then more advanced topics. It’s best to provide reference pages near the end.

Section Description
Overview Provide a brief, high-level explanation of the package.
Package contents Include the location of important files you want the user to know about. For example, if this is a sample package containing textures, models, and materials separated by sample group, you might want to provide the folder location of each group.
Installation instructions You can point to the official Package Manager installation instructions, but if you have any special installation requirements, such as installing samples, add them here.
Requirements This is a good place to add hardware or software requirements, including which versions of the Unity Editor this package is compatible with.
Limitations If your package has any known limitations, you can list them here. If not, or if the limitations are trivial, exclude this section.
Workflows Include a list of steps that the user can easily follow that demonstrates how to use the feature. You can include screenshots to help describe how to use the feature.
Advanced topics This is where you can provide detailed information about what you are providing to users. This is ideal if you don’t want to overwhelm the user with too much information up front.
Reference If you have a user interface with a lot of properties, you can provide the details in a reference section. Using tables is a good way to provide quick access to specific property descriptions.
Samples For packages that include sample files, you can include detailed information on how the user can use these sample files in their projects and scenesA Scene contains the environments and menus of your game. Think of each unique Scene file as a unique level. In each Scene, you place your environments, obstacles, and decorations, essentially designing and building your game in pieces. More info
See in Glossary
.
Tutorials If you want to provide walkthroughs for complicated procedures, you can also add them here. Use step-by-step instructions and include images if they can help the user understand.

Documentation format

Markdown is a lightweight format commonly used in packages. Many repository hosting services (such as GitHub and Bitbucket) support it for READMEs and documentation sites. You can provide an MD file in the Documentation~ folder under your package root so that if your package’s user clicks the View documentation link in the details pane of Unity’s Package Manager, the user’s default MD viewer opens the file.

Alternatively, you can use your own website to host your documentation. To set the location for the View documentation link to point to your own website, set it with the documentationUrl property in your package.json file.

If you decide to use a Markdown file to document your package, you can find more information about how to write MD files from any number of help sites, such as:

Meeting legal requirements
Sharing your package