{"id":13661823,"url":"https://github.com/connffuused/AssetLens","last_synced_at":"2025-04-25T03:31:37.406Z","repository":{"id":42723614,"uuid":"402093495","full_name":"shaderqu/AssetLens","owner":"shaderqu","description":"Asset Lens : Unity asset reference management utility working in background. 에디터 백그라운드에서 관리되는 유니티 에셋 파일 레퍼런스 데이터 도구. ","archived":true,"fork":false,"pushed_at":"2022-03-27T08:45:33.000Z","size":1420,"stargazers_count":50,"open_issues_count":4,"forks_count":6,"subscribers_count":4,"default_branch":"main","last_synced_at":"2024-05-27T13:14:53.467Z","etag":null,"topics":["asset","asset-lens","assetlens","lens","reference","unity","unity3d","unity3d-plugin"],"latest_commit_sha":null,"homepage":"https://discord.gg/h9WPFRNFBY","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/shaderqu.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-09-01T14:36:12.000Z","updated_at":"2024-03-22T14:45:06.000Z","dependencies_parsed_at":"2022-09-26T20:00:44.346Z","dependency_job_id":null,"html_url":"https://github.com/shaderqu/AssetLens","commit_stats":null,"previous_names":["seonghwan-dev/assetlens","seonghwan-dev/reference"],"tags_count":48,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shaderqu%2FAssetLens","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shaderqu%2FAssetLens/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shaderqu%2FAssetLens/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shaderqu%2FAssetLens/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shaderqu","download_url":"https://codeload.github.com/shaderqu/AssetLens/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":213630946,"owners_count":15615381,"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":["asset","asset-lens","assetlens","lens","reference","unity","unity3d","unity3d-plugin"],"created_at":"2024-08-02T05:01:42.303Z","updated_at":"2024-11-10T16:32:17.091Z","avatar_url":"https://github.com/shaderqu.png","language":"C#","funding_links":[],"categories":["C\\#"],"sub_categories":[],"readme":"# Asset Lens\n\n## About **Asset Lens**\n**Asset Lens** is a dependency tracking plugin for UnityEditor that provides additional information such as the number of usage.\n\nThis plugin is based on pre-cached complementary guid map to trace which asset has dependencies to specific asset. \nThe pain point that mainly considered with Unity is that when we delete an asset, we don't know which asset is using it. \n\n## Requirements\n- All assets must be serialized as force-text option in ProjectSetting/Editor\n\n### Compatibility\nWe recommend the version `2021.2.0f1` or `latest` because of UI Toolkit(former UI Elements).  \nBut plug-in still work well in lower version.  \n  \n\u003e Specifically tested semantic version is :  \n  \n\u003ca href=\"unityhub://2019.4.32f1/\"\u003e\u003cimg src=\"https://img.shields.io/badge/unity-2019.4f_LTS-blue.svg?logo=unity\"/\u003e\u003c/a\u003e\n\u003ca href=\"unityhub://2020.3.21f1/\"\u003e\u003cimg src=\"https://img.shields.io/badge/unity-2020.3f_LTS-blue.svg?logo=unity\"/\u003e\u003c/a\u003e\n\u003ca href=\"unityhub://2021.1.27f1/\"\u003e\u003cimg src=\"https://img.shields.io/badge/unity-2021.1f-blue.svg?logo=unity\"/\u003e\u003c/a\u003e\n\u003ca href=\"unityhub://2021.2.0f1/\"\u003e\u003cimg src=\"https://img.shields.io/badge/unity-2021.2f-brightgreen.svg?logo=unity\"/\u003e\u003c/a\u003e\n\u003ca href=\"unityhub://2022.1.0a13/\"\u003e\u003cimg src=\"https://img.shields.io/badge/unity-2022.1 alpha-red.svg?logo=unity\"/\u003e\u003c/a\u003e\n\n\u003ca href=\"https://codecov.io/gh/seonghwan-dev/AssetLens\"\u003e\n\u003cimg src=\"https://codecov.io/gh/seonghwan-dev/AssetLens/branch/main/graph/badge.svg?token=7ODSTUTX1G\"/\u003e\n\u003c/a\u003e\n\u003ca href=\"https://openupm.com/packages/com.calci.assetlens/\"\u003e\n\u003cimg src=\"https://img.shields.io/npm/v/com.calci.assetlens?label=openupm\u0026registry_uri=https://package.openupm.com\"/\u003e\n\u003c/a\u003e\n\u003ca href=\"https://badge.fury.io/js/com.calci.assetlens\"\u003e\n\u003cimg src=\"https://badge.fury.io/js/com.calci.assetlens.svg\" alt=\"npm version\"/\u003e\n\u003c/a\u003e\n\n## Installation\n\u003cdetails\u003e\u003csummary\u003eDownload with NPM (Unity Package Manager) \u003c/summary\u003e\n\u003cp\u003e\n\n[![NPM](https://nodei.co/npm/com.calci.assetlens.png?compact=true)](https://npmjs.org/package/com.calci.assetlens)\n\nReplace stable version at version definition in json `x.x.x`  \nexample) `\"com.calci.assetlens\": \"0.4.2\"`  \n```json\n{\n    \"dependencies\": {\n        \"com.calci.assetlens\": \"x.x.x\"\n    }\n}\n```\n\n```json\n{\n    \"scopedRegistries\": [\n        {\n            \"name\": \"npm\",\n            \"url\": \"https://registry.npmjs.org\",\n            \"scopes\": [\n                \"com.calci\"\n            ]\n        }\n    ]\n}\n```\n\u003c/p\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\u003csummary\u003eDownload with OpenUPM \u003c/summary\u003e\n\u003cp\u003e\n  \n[![openupm](https://img.shields.io/npm/v/com.calci.assetlens?label=openupm\u0026registry_uri=https://package.openupm.com)](https://openupm.com/packages/com.calci.assetlens/)\n```bash\nopenupm add com.calci.assetlens\n```\n\u003c/p\u003e\n  \n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eGitHub Link\u003c/summary\u003e\n  \n  \u003cp\u003e\n    \n```bash\nhttps://github.com/seonghwan-dev/assetlens.git#upm\n```\n  \u003c/p\u003e\n  \n\u003c/details\u003e\n\n## QuickStart\nWhen you install plugin, indexing wizard will be shown.  \n\n\u003cp align=\"center\"\u003e\n\u003cimg width=\"512\" alt=\"image\" src=\"https://user-images.githubusercontent.com/79823287/147115098-4cbbf2bd-1a43-44ab-8447-ce2e88c2e25f.png\"\u003e\n\u003c/p\u003e\n\n1. Hit the bluish `generate` button and then wait for progress bar.  \n2. When it finished, wizard will be close automatically. \n3. Select any asset you want to see which asset uses that.  \n4. There is 2 options to show dependencies between assets.  \n  4-1. hit `detail` button on top of the inspector. then editor window will be shown.  \n  4-2. set mouse cursor to the asset in project view and hit right click and select context menu named `Find Reference In Project`.  \n  \n\u003cdetails\u003e\u003csummary\u003eShow Option Description\u003c/summary\u003e  \n  \n- `Indexes by GUID Regular Expression` : find dependencies by GUID Regex or EditorUtility.CollectDependencies.  \n- `Trace scene object hierarchically` : WIP (not in feature currently)  \n- `Inlcude subdirectories of Packages` : Include assets under Packages/ or not.  \n- `Always open when you start a project` : if you want to see this wizard on startup again, disable this option.  \n  \u003c/details\u003e\n\n\n## Fundamentals\n- Create a cache file per a asset file, see also [RefData.cs]\n- Detect asset changes from `AssetPostprocessor`, see also [AssetLensPostprocessor.cs]\n- Detect an attempt to delete an asset from `AssetModificationProcessor`, see also [AssetLensModification.cs]\n\n## Features\n- Display asset usage count in inspector.\n- Find References In Project\n\n### Reference Viewer Window\n\n|before initialize|after initialize|\n|:---:|:---:|\n|\u003cimg src=\"https://user-images.githubusercontent.com/79823287/134523257-28173dc7-4fd5-406e-8ac9-56b148debedb.png\" width=\"460\"\u003e|\u003cimg src=\"https://user-images.githubusercontent.com/79823287/134523437-166bf30b-ccdd-42ea-90ae-3084e0f013f6.png\" width=\"460\"\u003e|\n|not available|available to trace dependencies|\n\n#### Overview\n\u003cp align=\"center\"\u003e\n\u003cimg width=\"363\" alt=\"image\" src=\"https://user-images.githubusercontent.com/79823287/147112141-beeb3e1a-8959-4a0e-aef6-2c655d88168f.png\"\u003e  \n\u003c/p\u003e\n\n- `0.2.6` : Indexer version. This represent the which serializer indexes this asset.\n- `(UnityEngine.GameObject)` : the type of selected asset. prefabs are displayed as GameObject.\n- `Last Modified : 2021-12-22 PM 8:39:34` : last modified date time of asset. this information is not from cached data but file metadata.\n- `Dependencies` : list up assets that this asset is using. `Cube 2` includes the material `MAT_Green` in MeshRenderer.\n- `Used By` : list up assets that uses selected asset. if you delete the `Cube 2` then the instantiated prefab in `SampleScene` will be disconnected and displyed as missing.\n---\n\n### Inspector Lens\nDisplays the number of other resources using the selected asset.\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://user-images.githubusercontent.com/79823287/139777116-25ed937e-2f69-421a-91a8-4ae426a311e4.png\" width=\"460\"\u003e\n\u003c/p\u003e\n\n- Details : Open Reference Viewer as EditorWindow instantly.  \n- Refresh : Reserialized cached reference data asset.  \n- GUID : Displays the guid of selected asset. onClick events will copy guid to your clipboard.  \n\n## Community\n### Discord\n[\u003cp align=\"center\"\u003e\u003cimg src=\"https://discordapp.com/api/guilds/889046470655893574/widget.png?style=banner2\"\u003e\u003c/p\u003e](https://discord.gg/h9WPFRNFBY)\n\n\n## Roadmap\nNot stable yet, but under development.\n\n### Reference Viewer\n[x] Reference View for Persistent Assets.  \n[ ] Reference View for Scene Objects.  \n[ ] Sortable Multi-Column viewer.  \n[ ] Dependency graph for Scene Objects.  \n\n### Inspector Lens.  \n[x] Display how many assets are related to selected asset at the top of the inspector.  \n[ ] Pop-up window of linked assets such as nested prefab inspector.  \n\n### Safe Delete  \n[x] Alert before the asset that is used by other asset will be deleted.  \n[ ] (Experimental) Replace reference during delete asset. (Reference Replacer)  \n\n### Build Lens  \n[ ] Find the assets will be included in build  \n[ ] Asset bundle, Addressable, Linked assets with scenes in build setting, resources.  \n\n---\n## Contributes\n- Current Editor Version : `2021.2.0f1`    \n- Fork and clone repository.  \n- Edit sources and commit with conventional commits (prefer Commitizen)  \n- Add unit test codes for new feature (Optional)\n- Create PR.  \n\n### Developer mode\nSelect menu in `Help/Asset Lens/Enter Debug Mode` or Add an scripting define symbol `DEBUG_ASSETLENS` at ProjectSettings/Player.\n\n### Edit Languages\n- Run `Tools/Asset Lens_DEV/Add New Language` to create a new localization profile.\n- Run `Tools/Asset Lens_DEV/Update Language profiles` to add field after edit `Localize` class.\n\n### Requirements\n- commitizen - conventional commit log to generate changelog\n\n### Tests\nmust be passed test in 2019.4, 2020.3, 2021.1, 2021.2\n\n[RefData.cs]: https://github.com/seonghwan-dev/AssetLens/blob/main/Packages/com.calci.assetlens/Editor/Reference/Model/RefData.cs\n[AssetLensPostprocessor.cs]: https://github.com/seonghwan-dev/AssetLens/blob/main/Packages/com.calci.assetlens/Editor/Reference/Callback/ReferencePostprocessor.cs\n[AssetLensModification.cs]: https://github.com/seonghwan-dev/AssetLens/blob/main/Packages/com.calci.assetlens/Editor/Reference/Callback/ReferenceModification.cs\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fconnffuused%2FAssetLens","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fconnffuused%2FAssetLens","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fconnffuused%2FAssetLens/lists"}