Welcome to the Very Experimental Dependency Viewer discussion thread. You can use this thread to ask for help, share feedback, and have discussions about the search-extensions package and its new Dependency Viewer tool.
Introduction
Lots of users have expressed a need for Unity to provide a built-in Dependency Viewer. There are some good packages on the Asset Store offering this kind of functionality but it would be better if it was part of the core workflows of Unity.
Using the Search backend we have been able to build a new Dependency Tool and a Dependency Search Provider. This tool tracks the global selection and shows which assets or GameObjects are Using or are Used by any selected objects. You will also have access to a series of Reports exploring the dependency Graph of your project (Unused assets, broken dependencies, Most used assets…).
Resources
- Search Extensions github package which contains detailed information on how to install the Dependency Viewer.
- Dependency Viewer Documentation Wiki. This explains how the feature works and which workflows are supported.
Requirements
The Search Extensions package will work with Unity 2020.3 and any other versions higher than 2021.2.
- If you are using 20.3: also install the com.unity.quicksearch@3.0.0-preview.14 package.
- If you are using 21.2+ : Search extensions will use the built-in Search framework and do not require any other package.
Getting started
- Installation instruction for Search Extension package are here.
- Go into the Window->Search->Dependency Viewer menu.
- Opening the Dependency Viewer for the first time will start building the Dependency Database. This process is asynchronous and is generally not too long (it depends on the size of your project).
- When you see the message : Dependency indexing took 2188.93 ms and was saved at Library/dependencies_v1.index in the console you are good to go!
- Each time you will select a new Asset or GameObject the Dependency Viewer will display the dependencies of the selected object.
- This section of our documentation wiki explains in greater details what the Dependency Viewer is capable of.
Here are some links to nifty features of the Dependency viewer:
- Dependency Viewer UI Tour.
- Customizing the Column layout.
- Loading a Dependency Reports.
- Project Browser Integration.
- Technical Overview of Dependency parsing.
Current state
The tool is current in early alpha. Some clients have played a bit with it but we want to gather more feedback on usability, performance and stability. Some current limitations are:
- There is not incremental update of the Dependency Database. If you want to update the dependencies you have to manually clicked the Build button.
- This is a Dependency Viewer and not a Dependency Manager. This means you can reason about your project and better understand the links between assets but we have not build workflows to act on this information (no asset mass replace and no ways to easily fix broken dependencies).
- We only show direct dependencies. That is dependencies at a single level deep of the selected assets.
What’s next
We want to know from the community if the current tool provides value. Then we want to improve the tool according to the feedback we will receive. Some features we are thinking about:
-
Incremental update of the Dependency Database.
-
Allow users to register custom Dependency indexer
-
Add new dependency reports (like Build dependencies)
-
Add more filtering options
-
Add Depth slider to show dependencies that more than a level deep from the selected object.
-
Add more advance workflows to manipulate Dependencies:
-
Mass replace of Assets
-
Helper to fix broken dependencies
-
Safe Delete of unused assets
Feedback
In terms of feedback, we’re especially looking for:
-
Can you think of any use cases that are not covered yet?
-
Are there any workflows that are unclear or missing?
-
Are there any issues or unclear parts in the documentation?
-
Is the Dependency Database accurate: are there dependencies that were not found?
-
Any feedback on usability and performance.
Please share your feedback in this thread.
How to report bugs
Since the feature is heavily in development if you find a bug, please log it using the Issue section of our Github project.
- Attach a (stripped) project when there are issues.
Have a look at this page for more information and best practices around bug reporting.
Thank you for your interest, we’re looking forward to your feedback!