{"id":18238283,"url":"https://github.com/mmike17/unity_unusedassetsfinder","last_synced_at":"2026-05-19T14:03:00.326Z","repository":{"id":260237759,"uuid":"880316631","full_name":"MMike17/Unity_UnusedAssetsFinder","owner":"MMike17","description":"Unused Assets Finder is a Unity editor tool used to detect and monitor assets that are not used in your project.","archived":false,"fork":false,"pushed_at":"2024-10-30T09:30:24.000Z","size":297,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-14T12:35:58.445Z","etag":null,"topics":["gamedev","gamedev-tool","unity"],"latest_commit_sha":null,"homepage":"https://mikematthews.itch.io/unused-assets-finder","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MMike17.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-10-29T14:05:03.000Z","updated_at":"2024-11-12T13:20:54.000Z","dependencies_parsed_at":"2024-10-30T10:40:04.498Z","dependency_job_id":null,"html_url":"https://github.com/MMike17/Unity_UnusedAssetsFinder","commit_stats":null,"previous_names":["mmike17/unity_unusedassetsfinder"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MMike17%2FUnity_UnusedAssetsFinder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MMike17%2FUnity_UnusedAssetsFinder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MMike17%2FUnity_UnusedAssetsFinder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MMike17%2FUnity_UnusedAssetsFinder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MMike17","download_url":"https://codeload.github.com/MMike17/Unity_UnusedAssetsFinder/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247878023,"owners_count":21011158,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gamedev","gamedev-tool","unity"],"created_at":"2024-11-05T03:04:51.358Z","updated_at":"2025-10-15T14:17:47.609Z","avatar_url":"https://github.com/MMike17.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Unused Assets Finder\n\n_This tool is a Unity editor tool._\n\nUnused Assets Finder is a Unity editor tool used to detect and monitor assets that are not used in your project.\n\nTL;DR : Jump to the [Support](#Support) section to check what is and is not supported by this tool.\n\n## Usage\n\nIn the Unity Editor, in the top menu bar, under the \"Tools\" tab you'll find the \"Unused Assets Finder\" option.\\\nThis will open the Unused Assets Finder editor window.\n\n![](.Screenshots/Menu.png)\n\n### Popups\n\nWhen opening the editor window, popups will appear.\\\nIf the tool has already run an analysis on this project, a popup will appear where you can **load the last analysis results** or **start a new analysis**.\n\n![](.Screenshots/Popup1.png)\n\nIf the tool has never analyzed this project or if you choose to start a new analysis, a second popup will appear where you can **start a synchronous analysis** or **start an asynchronous analysis**.\n\n![](.Screenshots/Popup2.png)\n\nIf the tool is not running an analysis or not showing results, the main menu is showing.\n\n![](.Screenshots/General.png)\n\n### Analysis\n\nThe analysis process is the same between the two run modes.\\\nThis tool goes through three separate phases :\n\n1. **Index all assets** added to the project by the user (see limitations in the [support](#Support) section).\n![](.Screenshots/Step1.png)\n\n2. **Parse asset references** contained in Unity YAML based files (scenes, prefabs, materials, etc...) as well as code and assets references in C# files (see limitations in the [support](#Support) section).\n![](.Screenshots/Step2.png)\n\n3. **Linking assets references** starting from valid start points (scenes referenced in project settings and asset bundles) to provide valid and invalid references chains.\n![](.Screenshots/Step3.png)\n\nThe analysis process will be interrupted by assembly reloads (given that this will modify the references between assets) and the tool will default back to the main menu.\n\n### Run modes\n\nThis tool has two run modes :\n\n- **Synchronous** : the analysis will run at max speed and display progress. You can't use the editor while this is running.\n\n- **Asynchronous** : the analysis will run alongside the Unity Editor application and will try to keep a stable 30 FPS for the Editor application. You can use the editor while this is running.\n\nIf you change any code asset or asset references in the project you risk falsifying the analysis results or triggering an assembly reload and thus canceling the process.\n\n### Loading last results\n\nThe analysis results are stored in the _PlayerPrefs_ (depends on the platform) and can be loaded instead of starting a new analysis.\\\nThis way of loading will not invalidate any features of this tool.\n\nIf an out of date analysis is loaded  and you try to delete an asset that doesn't exist in the form detected by the analysis, the tool will display a warning in the console and abort the removal of that asset.\n\n### Results\n\nWhen displaying the results, the editor window is split into four regions :\n\n- **The header** displays the same buttons as the main menu to load results or start a new analysis.\n\n- **The selection ribbon** where you can select _referenced assets_, _unreferenced assets_ and _filtering options_.\n\n- **The results body** where you can see a list of assets that you can inspect, preview and select, as well as a search bar and removal/restoration buttons.\n\n- **The footer** where you can select the results page.\n\n![](.Screenshots/Results.png)\n\n#### Asset types\n\nA project can contain many different types of assets.\\\nThe filtering option can help narrow the selection of displayed assets.\n\nCheck the [support](#Support) section for the list of supported asset types.\n\n#### Search bar\n\nYou can use the search bar to filter assets further by asset name (match whole text).\\\nThis will still apply the asset type and the status filters (referenced / unreferenced).\n\n#### Asset ribbon\n\nThis tool displays assets, their name, their type and their path.\\\nYou can also check the assets which depend on this asset through the \"Referenced in\" dropdown.\\\nYou can preview an asset with the \"Preview\" button. This will show a preview popup next to the editor window. This popup doesn't need to be closed between assets.\\\n\nNot all assets can be previewed.\n\n![](.Screenshots/Asset.png)\n\n### Assets removal\n\nOnce one of multiple assets are selected, the \"Remove assets\" button (in red) will appear to the right of the search bar.\\\nRemoving an asset will move it to a hidden folder in the project.\n\nThis **hidden folder** is added to the project's .gitignore file if there is one, so that removed files are not shared through git.\n\n![](.Screenshots/Remove.png)\n\nAny removed assets with the same name as assets already present in the hidden folder will **overwrite them**, this operation is **not reversible**.\n\n### Assets recovery\n\nIf any removed assets are present in the hidden folder, this tool displays a \"Restore assets\" button (in yellow) to the right of the search bar.\\\nRestoring assets will move them back into the project folder, in their respective pre-removal path. Any missing folder will be regenerated.\\\nThe hidden folder is then cleared.\n\n![](.Screenshots/Restore.png)\n\n## Support\n\nThis tool supports all file types natively supported by the Unity Engine. You can find the [full list here](https://docs.unity3d.com/Manual/BuiltInImporters.html).\n\nSeveral additional file formats are supported :\n- **TextMeshPro** file formats (.fontsettings).\n- **Shadergraph** file formats (.shadergraph, .subshadergraph).\n\nThis tool also has partial support for **C# class** declarations (including keyword _partial_) and references as well as _Resources.Load_ calls with plain text paths.\\\nThere is **no support for scopes or namespaces** in C# scripts.\n\nThis tool does not support code references :\n- In shader code.\n- To custom or built-in packages.\n- To plugins.\n- Assets marked as \"addressable\" through the Adressables unity package.\n\nAny variable named after a type of which it is not will be counted as a reference to said type.\n\nAll unsupported text file types are considered in the \"Text\" category.\\\nAll other unsupported file types are considered in the \"None\" category.\n\n## Known issues\n\n### The editor window is unresponsive and/or the filtering option is empty.\n\n#### Something likely went wrong during an assembly reload with the generation of the \"selection dictionaries\". **You need to close the window and re-open it**.\n\n### I'm getting null references in the console and part of the editor window is not generated.\n\n#### Something likely went wrong with the GUIStyles needed to display the window. **You need to close the window and re-open it**.\n\n### One of my C# class is counted as referenced but it's another class with the same name which is supposed to be considered.\n\n#### This tool does not support scopes for C# classes, therefore classes with the same names in different scopes (part of namespaces or sub-classes) will be detected as a single class by the tool.\n\n### My editor scripts (including this one) are counted as _unreferenced_.\n\n#### Editor scripts (scripts which use the \"UnityEditor\" library) are detected as _editor scripts_ and are not referenced by any assets present in a build, except for custom editors which will be detected as referenced by the class they are linked to.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmmike17%2Funity_unusedassetsfinder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmmike17%2Funity_unusedassetsfinder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmmike17%2Funity_unusedassetsfinder/lists"}