Version: 2021.1
Asset Workflow
Supported Asset Types

Importing

You can bring Assets created outside of Unity into your Unity Project by either exporting the file directly into the Assets folder under your Project, or copying it into that folder. For many common formats, you can save your source file directly into your Project’s Assets folder and Unity can read it. Unity also detects when you save new changes to the file and re-imports files as necessary.

When you create a Unity Project, you are creating a folder (named after your Project) which contains the following subfolders:

The basic file structure of a Unity Project
The basic file structure of a Unity Project

You can save or copy files that you want to use in your Project into the Assets folder. You can use the Project windowA window that shows the contents of your Assets folder (Project tab) More info
See in Glossary
inside Unity to view the contents of your Assets folder. Therefore, if you save or copy a file to your Assets folder, Unity imports it and appears in your Project window.

In all cases, Unity never modifies your original source file, even though you can often choose between various ways to compress, modify, or otherwise process the asset within Unity. The import process reads your source file, and creates a game-ready representation of your asset internally, matching your chosen import settings. If you modify the import settings for an asset, or make a change to the source file in the Assets folder, that causes Unity to re-import the asset again to reflect your changes.

Unity automatically detects files as they are added to the Assets folder, or if they are modified. When you put any Asset into your Assets folder, it appears in your Project View.

The Project Window shows Assets that Unity imported into your Project
The Project Window shows Assets that Unity imported into your Project

If you drag a file into Unity’s Project window from your computer (either from the Finder on Mac, or from the Explorer on Windows), Unity copies it into your Assets folder, and it appears in the Project window.

The items that appear in your Project window represent (in most cases) actual files on your computer, and if you delete them within Unity, you are deleting them from your computer too.

If you want to bring collections of Assets into your Project from another Unity Project, you can use Asset packagesA 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
.

Asset Import Settings

If you want to bring collections of assets into your project, you can use Asset packages. If you purchased or downloaded assets from the Unity Asset Store, you can import them through the Package Manager window.

Each type of Asset that Unity supports has a set of Import Settings, which affect how the Asset appears or behaves. To view an Asset’s import settings, select the Asset in the Project View. The import settings for this Asset will appear in the InspectorA Unity window that displays information about the currently selected GameObject, asset or project settings, allowing you to inspect and edit the values. More info
See in Glossary
. The options that appear vary depending on the type of Asset selected.

For example, an image’s import settings allow you to choose whether Unity imports it as a Texture, a 2D spriteA 2D graphic objects. If you are used to working in 3D, Sprites are essentially just standard textures but there are special techniques for combining and managing sprite textures for efficiency and convenience during development. More info
See in Glossary
, or a normal mapA type of Bump Map texture that allows you to add surface detail such as bumps, grooves, and scratches to a model which catch the light as if they are represented by real geometry. More info
See in Glossary
. The import settings for an FBX file allow you to adjust the scale, generate normals or lightmapA pre-rendered texture that contains the effects of light sources on static objects in the scene. Lightmaps are overlaid on top of scene geometry to create the effect of lighting. More info
See in Glossary
coordinates, and split & trim animation clipsAnimation data that can be used for animated characters or simple animations. It is a simple “unit” piece of motion, such as (one specific instance of) “Idle”, “Walk” or “Run”. More info
See in Glossary
defined in the file.

Clicking on an image Asset in the Project Window shows the import settings for that Asset in the Inspector
Clicking on an image Asset in the Project Window shows the import settings for that Asset in the Inspector

For other Asset types, the import settings look different. The various settings you see relate to the type of Asset selected. Here’s an example of an Audio Asset, with its related import settings shown in the inspector:

An Audio Asset selected in the Project Window shows the Audio import settings for that Asset in the Inspector
An Audio Asset selected in the Project Window shows the Audio import settings for that Asset in the Inspector

If you are developing a cross-platform Project, you can override the “default” settings and assign different import settings on a per-platform basis.

Asset processing

Unity reads and processes any files that you add to the Assets folder, converting the contents of the file to internal game-ready data. The asset files themselves remain unchanged, and the internal data is stored in the project’s Library folder. This data is part of the Unity Editor’s Asset Database.

Using internal formats for assets allows Unity to have game-ready versions of your assets ready to use at runtime in the Editor, while keeping your unmodified source files in the Assets folder. Keeping the internal formats separate from the asset files means that you can quickly edit them and have the Editor pick up the changes automatically. For example, the Photoshop file format is convenient and you can save .psd files directly into your Assets folder, but hardware such as mobile devices and PC graphics cards can’t process that format directly in order to render them as Textures.

Unity stores the internal representation of your assets in the Library folder which is like a cache folder. As a user, you should never have to alter the Library folder manually, and attempting to do so may negatively affect your project in the Unity Editor. However, as long as the project is not open in Unity, you can safely delete the Library folder, because Unity can regenerate all of its data from the Assets and ProjectSettings folders. This also means that you should not include the Library folder under version controlA system for managing file changes. You can use Unity in conjunction with most common version control tools, including Perforce, Git, Mercurial and PlasticSCM. More info
See in Glossary
.

Complex assets

In some cases, Unity might create multiple assets while importing a single asset file. For example, this can occur in the following situations:

Import scenario: How Unity handles the file:
When a 3D file (such as an FBX file) defines Materials or contains embedded Textures. Unity extracts the Materials and embedded Textures as separate assets.
When you want to import an image file as multiple 2D sprites. Use the 2D Sprite Editor to define multiple sprites from a single graphic image. In this case, each sprite defined in the Editor appears as a separate Sprite asset in the Project window.
When a 3D file contains multiple animation timelines or multiple clips. Unity automatically defines separate animation timelines or clips based on its animation import settings. The resulting multiple animation clips appear as separate Animation Clip assets in the Project window.

See also

Asset Workflow
Supported Asset Types