Note: If you want to share 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, samples, tools, or other assets, Unity recommends creating your own Unity package. However, you can also use the asset packageA collection of files and data from Unity projects, or elements of projects, which are compressed and stored in one file, similar to Zip files, with the
.unitypackage extension. Asset packages are a handy way of sharing and re-using Unity projects and collections of assets. More info
See in Glossary (
.unitypackage) format. For example, you might want to create an asset package to copy a number of assets or an entire Scene from one project to another.
Follow the instructions in this section for exporting asset packages from the Assets menu in the Unity Editor.
Note: If your assets are high quality and you believe other users would find them useful, follow the instructions in the documentation for Publishing to the Asset Store to create a package draft and upload it to the Asset Store
To create your own custom asset package:
Open the project you want to export assets from.
Choose AssetsAny media or data that can be used in your game or project. An asset may come from a file created outside of Unity, such as a 3D Model, an audio file or an image. You can also create some asset types in Unity, such as an Animator Controller, an Audio Mixer or a Render Texture. More info
See in Glossary > Export Package from the menu to open the Exporting package dialog box.
In the dialog box, select the assets you want to include in the package by clicking on the boxes so they are checked.
Leave Include dependencies enabled to auto-select any assets used by the assets you already selected.
Click Export to bring up the file explorer, and choose where you want to store your package file.
Name and save the package anywhere you like.
Tip: When exporting a package, Unity can export all dependenciesIn the context of the Package Manager, a dependency is a specific package version (expressed in the form
package_name@package_version) that a project or another package requires in order to work. Projects and packages use the dependencies attribute in their manifests to define the set of packages they require. For projects, these are considered direct dependencies; for packages, these are indirect, or transitive, dependencies. More info
See in Glossary as well. So, for example, if you select a Scene and export a package with all dependencies, then Unity exports all Models, Textures and other assets that appear in the Scene as well. This can be a quick way of exporting several assets without manually locating them all.
Note: If you select Include dependencies, and your current selection contains or references any scriptsA piece of code that allows you to create your own Components, trigger game events, modify Component properties over time and respond to user input in any way you like. More info
See in Glossary, Unity includes all scripts in your project. This is because Unity does not have a way to determine whether the scripts in your selection reference other scripts. For example, if you select a Scene asset in your project to export, and that scene contains a GameObjectThe fundamental object in Unity scenes, which can represent characters, props, scenery, cameras, waypoints, and more. A GameObject’s functionality is defined by the Components attached to it. More info
See in Glossary with a script attached, then Unity counts all scripts in your project as dependencies. If you do not want Unity to do this, you should uncheck Include dependencies.
If you want to change the contents of an asset package and create a newer, updated version of your asset package, select the asset files you want in your package (both the unchanged ones and the new ones). Then follow the instructions above to export the files.
Rename your updated package using incremental names: for example,
MyAssetPackageVer2. Unity recognizes it as an update, so you should use a naming convention that is clear for you and anyone you share it with.
Warning: Don’t remove files from asset packages and then add different files with the same name. Unity uses unique IDs to track files, so it recognizes them as different and possibly conflicting files. In these cases, Unity displays a warning symbol when importing them. If you have removed a file and then decide to replace it, rename it something else, even if it is close to the original name.