shown in other instead.
While working with a project, you create, copy, move, inherit, rename, and delete assets. As a result, an enormous amount of unnecessary files can be created.
Cleaner is a tool used to optimize your project and save disk space by deleting assets that won’t later be used in the final build. Cleaner also checks for corrupted references to assets.
Cleaner checks each asset that your project contains and displays irregularly used assets divided in two parts:
- Unused assets — the assets not used in any of the files included in your project (worlds, layers, nodes, meshes, materials) but available in the project.
Cleaner shows the file name and asset type for unused assets. As you click an unused asset in the Cleaner, it is displayed in the Asset Browser and the Parameters window.
You can delete any or all of the displayed assets by using the Cleaner functionality.
Lost assets — the assets referenced to by GUID but are not available in the project.
As you click a lost asset, the asset containing a reference to it, is displayed in the Asset Browser and the Parameters window. Fixing of lost assets is possible only manually.
The table in the Lost Assets section has three columns:
- Lost Asset — shows the GUID of the lost asset.
- Asset File — shows the name of the file containing the reference to the lost asset.
- Node Name — shows the name of the node, if the file containing the reference includes the node that actually has a reference to the lost asset.
To open the Cleaner window, choose Tools -> Cleaner on the Menu Bar of UnigineEditor.
The Cleaner window will open:
- Click Refresh to check the project for lost and unused assets. After analyzing assets in your project, Cleaner shows the following details.
- Manage Unused Assets using the buttons available in the top part of the window:
- Delete Selected — deletes only the selected assets from the list of unused assets. This option is also available by right-clicking the selected files in Cleaner.
- Delete Listed — deletes the whole list of currently displayed assets.
- Delete All — deletes the currently displayed list of assets, refreshes the list, and repeats these two operations until no unused assets appear in the list.
Use delete buttons carefully. Deleted assets cannot be restored.
- Show Ignore List… — displays the ignore list that already contains the default list of wildcards used to define the scope of check by Cleaner. This list can be extended by the user.
Upon clicking the Check button, all project files to be checked are displayed in the bottom part of the Ignore List window.If a filename in your project is generated in code (for example, a string concatenated from several words), add such cases to the Ignore List. Otherwise, such files will be deleted.
- Click Refresh to update the list. Deleting unused assets can reduce the number of lost assets.
- Fix Lost Assets. Fixing of lost assets is possible only manually—by checking each asset displayed in the second or third column.
Difference between Delete Listed and Delete All#
When you delete unused assets using the Delete Listed button and refresh the list, other assets can appear. This occurs because the newly found assets have been used by the assets you've deleted in the previous step, therefore, they formally were used as they were referenced from those files.
For example, we have an unused fbx model found by Cleaner. This file contains references to other files, for example a mesh, therefore, the mesh is considered as used by the fbx. Now, if we click Delete Listed and delete the fbx and no other file contains a reference to its mesh, the mesh appears in the list of Unused Assets after we click Refresh. But the materials of the mesh are considered used assets, as the mesh contains the references to them. Thus, as soon as we delete the listed mesh and refresh the list, the materials would be displayed, if no other file contains references to them.
The Delete All operation repeats deleting the currently displayed list of assets and refreshing the list automatically until no unused assets appear in the list.