Searching for the Dependents of an Asset

Hey everyone,

I am curious if there is a quick way to check an entire project for anyplace that uses a particular asset. To clarify I’m not looking for what an asset needs, but rather what objects need the asset. My project has a lot of scenes and going through each using the “Find references in scene” is a bit cumbersome. Is there a faster alternative that anyone is aware of?

Thanks,
Memige

To clarify I’m not looking for what an asset needs, but rather what objects need the asset. My project has a lot of scenes and going through each using the “Find references in scene” is a bit cumbersome. Is there a faster alternative that anyone is aware of?

It occurs to me I could delete the asset and see what all breaks, but that seems like a rather inelegant solution.

Hi @Memige! It may be a bit late, but actually there is elegant solution of this problem. A tool with opposite core idea to Unity’s Select Dependencies - finding assets that use particular asset.

After several major updates, an asset offers great interface for working with results and is much faster. Nested Prefab support recently added. It offers search in Project, but you can search in Scene as well.

For example, it offers:

:heavy_check_mark: Usage search for ALL types of assets, e.g.: Scripts, Shaders, Scenes, Materials, Sprites, Prefabs, Fonts, Textures, Sounds…

:heavy_check_mark: Search for usages in: Prefabs, Scenes, Atlases, Materials and others

:heavy_check_mark: Exact fields that use selected asset

There is also a rapid support for the product (8-hr response/resolution time 24/7)

Asset Store link:

alt text

Denis

sounds like you should be using tags.

just put the same tag on that perticular asset, and it will be heaps faster.

u can use Gameobject.FindWithTag(“particular asset”) and it will just find the one thing that has that tag.

but if u want to find all of them, for example a bunch of street lights that you wanted to turn on, u would use:

Gameobject streetlight = Gameobject.FindGameobjectsWithTag(“street light”);

this will put all the gameobjects in an array for you. then you use a foreach loop:

foreach(GameObject streetlight){
//turn on
}

im not currently at a computer with unity on it but i hope this is what you were looking for.

I ended up doing as I mentioned in my comment. Temporarily deleting the asset and running the game to see what breaks. As mentioned, not the most elegant of solutions, but at the moment it seems to be the only way to find the objects that use a given asset.

This will work For you. Once you Build a Project for Any platform unity will serialize all Reference and Generate Editor Log for a scene you place in build setting.

Then After Use this asset :

It will Remove all Asset which is not necessary .