Search Unity

Workflow Improvements - Unity's Search and Filtering Experience

Discussion in 'Editor & General Support' started by adriandaniels, Aug 12, 2020.

  1. adriandaniels

    adriandaniels

    Unity Technologies

    Joined:
    Feb 22, 2019
    Posts:
    3
    Hi all -

    We're working on a number of workflow improvements across Unity, and one area that we’re taking a closer look at is Unity’s search and filtering experience.

    Fortunately, we’ve captured a lot of search-related feedback shared with us over the past year. To aid in our ability to implement improvements in our next release and beyond, we need your help.

    Here are a few starter questions to consider:
    • What are some of the challenges you currently face when searching in Unity?
    • What activities are triggering the need to search?
    • What are you searching for?
    • From where are you searching?
    • Are you finding what you need? If not, why?
    We're looking forward to hearing from you and please reach out if you have any questions!

    Adrian Daniels
     
    Last edited: Aug 12, 2020
    Xarbrough, wlwl2 and Lars-Steenhoff like this.
  2. mvaz_p

    mvaz_p

    Joined:
    Aug 22, 2018
    Posts:
    58
    What are some of the challenges you currently face when searching in Unity?
    This is the single most annoying and time consuming issue for me right now:
    https://forum.unity.com/threads/disabling-search-breadcrumbs-in-project-window.759113/
    When you have two project search windows open and search something, the breadcrumbs go crazy and occupy a lot, if not all of the space available, and you can't click what you were searching for in the first place. And I never actually needed to use those breadcrumbs.

    What activities are triggering the need to search?
    Need for prefab or script modifications.

    What are you searching for?
    Prefabs and scripts.

    From where are you searching?
    Two side by side "Project" tabs.

    Are you finding what you need? If not, why?
    Yes.
     
  3. Lars-Steenhoff

    Lars-Steenhoff

    Joined:
    Aug 7, 2007
    Posts:
    3,078
    99670DEB-2B60-43E7-896D-0C6BC24A8756.png I would like to have a seperate window with smart folders and custom folder contents that do not depent on the storage place in the disk but are only references to the files on the disk.

    If I rename one of the files in this new window the original file will stay untouched and no new import is triggered, only the reference is renamed.

    https://forum.unity.com/threads/collections-like-project-window.776129/

    I made a mockup of this window in this place.


    yes a smart folder would be one option ( this is the saved search queries )

    The main idea is to be able to have your own pallet of assets, independent of where they are stored in the project folder.

    - An asset can only be one time in the project folder, in the collection view you can have an asset reference in different folders.

    - Other downside of the project view is that when you move an asset a recompile is triggered.
    - When you delete an asset in the collections its not deleted on the disk.

    This makes it saver for level designers to work on a project, they cannot mess something up in the project view which is directly on the disk and does not even support undo.

    - It would have this function to drag to the hierarchy, but also from the hierarchy

    - the same for the project browser, you could add assets from there to the collections

    and you don't have to organise the files in the project view
    you just organise the referenced assets in the collections

    updating assets from the store won't interfere with your collections view.
     
    Last edited: Aug 12, 2020
  4. Baste

    Baste

    Joined:
    Jan 24, 2013
    Posts:
    5,618
    At this point, I'm pretty much exclusively using Quick Search to search for things in the project view and in scenes. So for asset and scene searches, I'm happy. I wouldn't mind if the search bar for the hierarchy and project view were removed.


    Other searches are:
    1: searching for assets to put into an object field
    2: searching for scripts when clicking "add component".
    3: searching for what assets reference a certain asset (ie. what prefabs are referencing this material?)

    For both 1 and 2, the experience is a lot worse than Quick Search. For both, I want support for whatever it's called when you can writer "MyScHeSa" and get hits for "MyScriptHelloSailor".

    For 1, the search defaults to the scene view, even for things that are never in the scene. I really want to be able to define through an attribute in scripts if the object's supposed to come from the scene, assets, or both. I also want to be able to restrict the search to only certain folders.

    For 2, the "add script" button isn't very useful, since we generally want to put the script in a specific folder. Right now it's getting put in Assets/, which causes every single script in the project to recompile instead of (potentiall) just a single assembly.

    For 3, there's no built-in solution, so we use git grep to search for the object's guid. Unity has a built-in solution for searches in the other direction ("find all things this object references"), but we need the other one ("find which things references this object") much more often
     
    mvaz_p likes this.
  5. Flow-Fire-Games

    Flow-Fire-Games

    Joined:
    Jun 11, 2015
    Posts:
    269
    Actually I just posted something in the other UX thread related to search:

    COPY PASTING here from the other thread:

    Untitled-2.png

    -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    Just an Idea: Unity only compiles scripts in a "Plugins" folder once right? to save on recompiling assets (as far as I know) .. that leads me to this concept:

    Error assessment: Unavoidable Mess in Unity Projects
    One thing that also adds towards making Unity feeling very messy is the search function, as it naturally shows all things in the project. Default assets, plugins and all sorts of examples clog up your project. Especially materials and textures make your search always look like a big pile of random things. It makes using the Engine feel very cluttered and unorderly, despite the reality being everything in their proper folders and properly ordered.


    Everyone knows this.

    Here is how a texture search looks in a basically clean new project just for testing a couple things. Any normal Unity project will be 10x worse but this is already very bad. Nothing is related. Its just a big pile of things you don't look for.
    Adding only 2-3 Asset store assets even when trying to be very selective is adding tons of bloat and it gives you a bad unclean feeling about your project despite things being properly tucked away in folders.



    -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    Solution:
    Nice to Have Feature: Filtered Search / Filter for Plugin Bloat

    A - Simple approach:
    Given Unity can already discern in compilation from the Plugin folder and the others;
    1. (Optional) Add the Plugins folder by default, learn users to put plugins into the folder for order
    2. Filter the Search by All from Project / Totally All / Plugin Folder Assets - so your search is not clogged up and the project and Unity workflow feels clean. Just make sure to memorize the Tab to make sure people keep the Tab they prefer.



    Thats it! There is already support for tabs it seems, just enable them and filter by plugin or not.
    We all know how heavily plugins are part of Unity, but it should be clear what belongs where.



    -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    B - Alternative Approach:

    Add a color around the search results of the Plugin Folder assets, so it is clear which one are from your Project and which ones are from External plugins and could be disregarded. This keeps it messy but at least you know what is from you and what is potential external bloat.





    -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    C - Complex Approach:
    This would tie in with a much requested feature - Color Tags for folders - add (maybe up to a limit) Folder tags and allow people to filter by their own tags. (Maybe marker colors and filter tags would be split) This would be the best solution but also require a bit more effort but would go a long way in making Unity more clean and shake off this messy feeling of a clogged Project.



    (You can also hire me for UI and UX consulting - Ill have a lot more feedback especially about HDRP and I do Interfaces, UX and Game design professionally)


    -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    • What are some of the challenges you currently face when searching in Unity?
    • A: Inspector: Mostly the extreme bloat
      A: Project/Hierarchy: The 1 dimensional UI not keeping the old position visible
      A: All: The lack of color coding and icons making everything gray and indistinguishable
    • What are you searching for?
    • A: Inspector: Overwhelmingly textures, then materials, sometimes meshes
      A: Project: I guess mostly scripts, shaders, camera prefabs or such, sometimes folders
      A: Hierarchy, mostly camera, post processing, lights, player, terrain
    • From where are you searching?
      A: Mostly Inspector, sometimes project search, hierarchy from time to time

    • Are you finding what you need? If not, why?
      A: Mostly when I know the name, so mostly yes but after scanning the project, for project searches I rather just go through the folder structure, scripts and shaders yes
     
    Last edited: Sep 1, 2020
  6. adriandaniels

    adriandaniels

    Unity Technologies

    Joined:
    Feb 22, 2019
    Posts:
    3
    Thank you for sharing this informative feedback thus far. This is extremely helpful.
     
    Lars-Steenhoff likes this.
  7. BetaMark

    BetaMark

    Joined:
    Sep 27, 2014
    Posts:
    119
    Thank you for asking for this feedback -- and I want to start out by saying that I love all the feedback above. Search is one of those things that is overlooked a lot and makes life a lot better when its done right and consistently.

    Why is the user searching in this particular work flow anyways?
    I recommend you start with a step back and make sure that this question is asked first. There may be a better way to get the user the answer they were looking for without the need (and mental overhead) of search. In my case, trying to remember if I named something btn or button is a mental overhead I want to avoid.
    just about right.png

    Filters for simple use cases, Programmable Queries/Regex for Advanced
    Sometimes a proper filter is just what I need instead of a default search box. Unity already does this for fields with known types (texture2D in this example) but as mentioned above, that can still feel overwhelming.
    note quite as cute when I have more options.png
    Add to the filter with the eye icon on the right to hide texture2d files from imported packages, and I'm getting much closer to what I wanted:
    getting better but still too much.png
    My recommendation is to extend that with a "filter by custom..." and allow me to write my own filters like I can with Expression Builder and to some degree with "saved searches" in the project view.

    WARNING:
    One thing to beg you to avoid though -- is the fact that I can only see favorites (an existing type of filters) only for project view, and only if I'm in the two column mode -- and only.... the list goes on. If you are going to allow me to create and save queries, please make them accessible anywhere that you believe a search box should be.
    why a query language if it isn't consistently available.png

    And lastly, don't go all visual. There are some of us who really love writing text queries (v:any t: prefab is fine), or regular expressions (name =~ /btn/i for matching any name with btn in it, case insensitive). I checked out the .qse format, and it is very json-esque, but it takes me 29 lines to find all objects with the a particular name when I could have just said
    t:gameobject erika


    Let People Share Their Searches & Filters
    No matter what query language or visual tool you do build, once I create a search or filter which shows me exactly what I need in a particular work flow -- I'd love to share it back to the community. I imagine a "share to github button" that creates a PR on a Unity managed repo full of queries written by and shared from the community. Please note that if you do this, your repo really would need to both accept PRs for new and updated searches and filters and allow issues to be filed, worked, and resolved both with the searches and filters and the underlying index, search, and presentation framework. Most importantly, it would need to have a Unity employee assigned to it long term, even if the initial person who that starts the repo moves on.

    Have a Public Round Table with Asset Store Devs Already Working on Search UX
    Lastly, I'll point of the obvious fact that the unity asset store has some very smart people who are out in the field every day working to help solve for real time Unity headaches. Though I really appreciate the chance to speak on this topic here on the forum, I highly recommend that Unity should find a good moderator and do public round table discussions on subjects like this with existing asset store developers who are already working on these things. You don't have to agree with their method of solving it -- but make a platform for these kinds of discussions, get these passionate people talking on that platform, and ask them why they went the way they did.

    TLDR; whatever you do, do it the same everywhere. Filters are as good as search. Let people share what works for them with the community. And ask asset store developers how they solving for the problem today.
     
    AlanPT and soft_sound like this.
  8. Sandler

    Sandler

    Joined:
    Nov 6, 2015
    Posts:
    105
    I actually just wanted to post something about this.

    1. Search/Filter Properties of Objects in the Editor. There may be GameObjects / Monos with tons lot of properties listed, I often find myself searching for a certain one. When i cant find it i look in the code for it.

    2. One of the things that.. annoys me since the beginning and slows the workspeed a lot:
    Im in the Scene view. There is an element directly infront that i want to select i can see it, its in the center, its the only one i can see.

    I click, click, click, click, click, click, click, click, click, click, click, click, click, click, click, click, click, click, click, click, click, click. oh clicked on to far, strg + z. Its seriously like playing Diablo, ive once messured the clickrate.
    I´ve clicked through all canvases, all empty RectTransform in the Scene. I clicked though everything that is invisible, but the item i want to select is just there.

    Give the Scene view following Click-Selection-Toogles (just ideas):
    - Exclude Empty RectTransforms.
    - Exclude all Canvas Content
    - Target only: WorldSpace
    - Target only: Canvas
    - Exclude all Non Canvas Content

    Additional there should be Markers for making a GameObject - Hierarchy Not selectable.
    And maybe one for "Focus" this gameobject.

    The goal should be that the Scene view becomes more intuitive. It should take only one single click to select the element i want to select.
    The mixture of canvas & worldspace is a big pain in the ass and should get fixed. And you dont want to make it "invisible" or set the canvas as inactive every time you want to do work.
     
    soft_sound and CDF like this.
  9. CDF

    CDF

    Joined:
    Sep 14, 2013
    Posts:
    1,150
    There's only one thing I care about.

    Finding references to objects
    I want to know:
    What renderers use a material?
    What materials use a shader?
    What scenes, prefabs, scriptable objects reference some other object?
    What objects reference a script?

    Basically, I want to know if an asset is being used and if I can safely delete it without breaking references. Project wide. All scenes. All assets.
     
  10. BonitaPersona

    BonitaPersona

    Joined:
    Feb 20, 2014
    Posts:
    15
    Why not give us the option to select a "Project assets go here" folder, and show everything inside/outside of that folder tree separately?

    It seems a standardized workflow in Unity to put everything user created/modified inside a folder "_$NameOfCurrentProject" or "_$NameOfCompany", with the underscore so it is always on top of the lists, and easily identifiable. All other stuff from plugins go wherever, but always outside that folder. Thus, the scope of everything we create is always inside the folder tree under that folder.

    In my case, everything I always create/modify is inside "Assets/_Autumnyard/...", and there's never any doubt or hesitation about it.

    Let me select that folder and show it in the separate tabs that Flow-Fire-Games suggested. In a way, it'd be similar to an Assembly Definition, but for assets regarding filtering/searching.

     
    soft_sound and Lars-Steenhoff like this.
  11. Baste

    Baste

    Joined:
    Jan 24, 2013
    Posts:
    5,618
    This is one of the largest holes in Unity's functionality.

    This information exists, but in the inverse fashion, as that's what Unity needs to build scenes and asset bundles. So you can pretty easily find "which objects does this object depend on", but not "which objects depends on this object".

    You probably already know this, but a custom way to do this is to grep through your project for the asset's guid. If a prefab references a material, the material's guid will be somewhere in the prefab file.

    Using git grep to only include assets that are in version control to search for all references to a file usually takes 1-2 seconds.
     
  12. CDF

    CDF

    Joined:
    Sep 14, 2013
    Posts:
    1,150
    Hmm no I didn't know about grep. I'm not much of a power commands kinda guy. Not that I dislike them, I just don't know enough about them.

    Interesting though, I found this https://oktomus.com/posts/2020/grep-and-unity/

    Still, would be great to have some of these "power commands" in unity
     
    oscarAbraham and Lars-Steenhoff like this.
  13. BonitaPersona

    BonitaPersona

    Joined:
    Feb 20, 2014
    Posts:
    15
    Totally agree on the issues about working with GUIDs.

    GUIDs are an integral part of Unity, and therefore are mandated to be part of the work-flow sooner or later.

    Yet, any direct work with them is forced to be done outside the editor.

    I understand this is (was) by choice. Hiding the GUID infrastructure is a good choice for entry-level use cases of Unity. But once the user or the projects grows, it becomes a must. You eventually face situations in which you have to work directly with GUIDs, and there's absolutely no way to work with them inside the editor.

    And, of course, we long-term developers, and the users who want to delve deeper into the engine, are an integral and important target of the engine.

    For example, one of the things that I could vehemently get behind would be a way to search & filter directly inside the editor: "guid:[number]".
     
    a436t4ataf and AndrewKaninchen like this.
  14. Baste

    Baste

    Joined:
    Jan 24, 2013
    Posts:
    5,618
    Quick Search supports that:

    upload_2020-9-2_14-43-57.png

    upload_2020-9-2_14-44-12.png

    I've also got some utils for working with the guids that could be helpful:

    Code (csharp):
    1.  
    2. using UnityEditor;
    3. using UnityEngine;
    4.  
    5. public static class GUIDHandling {
    6.  
    7.     [MenuItem("Assets/GUID/Copy selected to clipboard")]
    8.     public static void CopyGUID() {
    9.         var guid = AssetDatabase.AssetPathToGUID(AssetDatabase.GetAssetPath(Selection.activeObject));
    10.         if (guid != null) {
    11.             Debug.Log(guid);
    12.             GUIUtility.systemCopyBuffer = guid;
    13.         }
    14.         else {
    15.             Debug.Log("Couldn't get guid of selected object");
    16.         }
    17.     }
    18.  
    19.     [MenuItem("Assets/GUID/Select object by GUID from clipboard")]
    20.     public static void SelectGUID() {
    21.         var guid = GUIUtility.systemCopyBuffer;
    22.         var obj = EditorTools.LoadAssetAtGUID<Object>(guid);
    23.         if (obj != null) {
    24.             Selection.activeObject = obj;
    25.             EditorGUIUtility.PingObject(obj);
    26.         }
    27.         else {
    28.             Debug.Log($"Could not find an object when loading asset with guid {guid}");
    29.         }
    30.     }
    31. }
    32.  

    But yeah, interacting with the guids of objects are pretty central to any advanced asset workflow, and it's not made too easy for us.
     
    BonitaPersona likes this.
  15. a436t4ataf

    a436t4ataf

    Joined:
    May 19, 2013
    Posts:
    1,333
    Challenge: As a side-effect of adding text-search features to the Editor, AssetDatabase appears to have had all Find-Asset functionality removed / never added (?)

    (the only public API is one that requires a string (!) argument, using magic strings - some of which are even documented (several are not. I had to read the source code to find them). The underlying APIs have been marked private/internal and my request to have them made public - since AssetDatabase has no actual API calls now, and these private APIs would be perfect and already exist - got rejected).

    In-Editor search and API-searching are separate things, and those APIs desperately need to be split apart. How this should work:

    1. GUI: InEditor search boxes (probably using a NewSearchAPI)
    2. Script: AssetDatabase search API (probably sharing a lot of code with NewSearchAPI - but Assets have extra use-cases and the API requires more fine-grained control so this probably has its own method calls with more options and more detail. Probably has some zero-allocation method calls for large return sets, etc.)
    3. Script: UnityEditor.* search API that re-uses the exact same calls as 1 above, so that our code can cleanly plug-in to the existing in-editor searching (definitely: using the NewSearchAPI)
     
  16. shawnblais

    shawnblais

    Joined:
    Oct 11, 2012
    Posts:
    323
    By far the biggest thing missing for me in Unity is a robust, per-project set of shortcuts. Looking up one specific thing is not hard right now, it's continually looking up the same few things that is very cumbersome. Both in the scene hierarchy, and the project panel.

    In every project and every scene, there is generally 5-15 Asset Folders, or GameObjects that I continually am chasing down. Folding objects open and closed, scrolling, getting caught in thousand item long child lists that fold out when I click a single tree.

    The problem with existing searches is separating wheat from chaff. Most of my projects/scene have thousands of files, and any quick search immediately becomes cluttered and fairly unusable. Fundamentally, finding anything in these small scrolling windows is hard and what we really need are robust and flexible shortcuts.

    What would be beautiful is some ultra-simple way to:
    • Define Scene Windows Shortcuts - (LocalPlayer, GameController, FxManager, SoundManager, etc) Ideally this is a type based lookup, so it works from scene to scene within a single project, but should probably also support instances.
    • Define Project Shortcuts (/Scripts, /Design/Prefabs, /Settings/ etc) - These are specific folders, settings or prefabs in the assets folder that we need to jump to frequently. Ideally this would support a path + search/type filtering
    • It would be extremely nice if when jumping to one of these shortcuts, all other folders would fold-down, and we would unfold only on the selected items heirarchy.

    I'm picturing something like `Ctrl + .` which then brings up my shortcuts for that project, with the first 10 being numbered, so I can do `Ctrl + ' + 1 + F` and select my LocalPlayer, focus on him, and cleanup my hierarchy all in one series of key strokes or clicks

    The use case here is let me jump to 10 or 20 things, that are defined in my project, using keyboard shortcuts (and some gui too of course). And when doing so, cleanup the folder layout to help keep us sane (optionally). I think if you can provide that, most of the needs regarding search are actually solved.

    There is a plugin that does a pretty good job tackling this, might serve as some inspiration:
    https://assetstore.unity.com/packages/tools/utilities/the-shelf-2904
     
    Last edited: Oct 17, 2020
  17. shawnblais

    shawnblais

    Joined:
    Oct 11, 2012
    Posts:
    323
    Also regarding the existing shortcuts you can make, and search filters, these are pretty nice but the problem is they are not project specific, so if you have several projects this becomes cluttered quickly. It also lives in a weird space, cutting into precious vertical space in my project panel unless I manually fold it open and closed each time.
     
  18. Neonage

    Neonage

    Joined:
    May 22, 2020
    Posts:
    213
    Improve Object Picker window so it can show assets as hierarchy, like AudioMixer does:
    upload_2020-10-22_19-41-48.png
    Improve Asset Labels, the current approach is unacceptable -- why do we have to reimport asset every time we change the label? Why can't we apply them to multiple assets or folders? And so on...
    People in other thread already gave this feedback and solutions:
     
    Last edited: Oct 23, 2020
  19. wlwl2

    wlwl2

    Joined:
    Jun 17, 2018
    Posts:
    27
    - What are some of the challenges you currently face when searching in Unity?

    1. Sprites that are not able to be collapsed (then able to be expanded) while a search term is in the input field.

    You could have collapsed as an option.

    Imagine if there are many types of roads, dirt, cobbles, brick, gravel, concrete etc. All I see is the dirt one, then you scroll down hundreds of files...

    Unless you type in RedBrickRoad, or BrownBrickRoad or something like that.

    not collapsed.PNG

    2. Finding an asset/file in the project window if different file types or folders have the same name. The results could be sorted by file type categories.

    Prefabs look like sprite images in the Project window. I can't tell unless I click on the file.

    You could say, just take the extra step of clicking on the filter, but I rarely do that as it isn't easily accessible (tiny button which to this day I don't know if I'm going to click on the label or file type search because Unity only uses logos), and I just scroll down to click on the file to see its file type.

    Folders are also not a valid search type/filter in the UI. I have to manually type "t:folder" to get this filter. And I only know this because I have done searches by code using the UnityEditor namespace.

    - What activities are triggering the need to search?

    If I need to edit sprites or prefabs, or search for files, images, scripts and folders. Or if I need to drag from the Project window to the inspector.

    - What are you searching for?

    An asset/file or folder.

    - From where are you searching?

    The project window..

    Are you finding what you need? If not, why?

    Yes, but I am really getting all of it all at once. :)

    It isn't collapsed or categorized in the project window.

    You can see Windows 10 Group By > Type for what a possible solution might look like for categorization.
     
  20. wlwl2

    wlwl2

    Joined:
    Jun 17, 2018
    Posts:
    27
    Are these "Save search"? I was just going to say the same thing, BUT I realized that they could be type searches rather than to search for a specific set of items- this would make them not project specific. So I can see why people at Unity did that. However, they do take up important vertical space at the top and I rarely use them most of the time. I am using Unity 2019.4 by the way.

    I just thought about it and I really don't think I will click on that "All Prefabs" saved search ever, for example, because hundreds of different prefabs will show up, whereas for "All Materials" I only have a few right now, so I probably have used that Saved search. I'm guessing it will depend on how many files are in that type.

    There is something important you reminded me about which is the Favorites not being project specific. Also as an enhancement, they could be persistent across different types of projects. One potentially big problem about that is the problem of backwards compatibility with previous Unity versions, which could get them into trouble. This could be something @adriandaniels could look into I guess (assuming this is related to Unity's Search and Filtering Experience).
     
  21. shawnblais

    shawnblais

    Joined:
    Oct 11, 2012
    Posts:
    323
    They can be both, the Editor will allow you to setup a folder based + type search iirc
     
  22. wlwl2

    wlwl2

    Joined:
    Jun 17, 2018
    Posts:
    27
    Another bug I just found. Maybe it's because I'm now back to creating UI and environmental art. It is that you can right click on a sprite and then "Find References In Scene". What I wanted to do was find where that sprite was used (on GameObjects) on the active scene. Totally does not work, it brings up hundreds of GameObjects in the hierarchy which have nothing to do with that sprite.

    To be more specific, I selected a sprite called "HealthLogo". I got GameObjects called "Scrollbar Horizontal", "Scrollbar Vertical" etc.

    Not sure if this is related though.
     
  23. PhoenixAdvanced

    PhoenixAdvanced

    Joined:
    Sep 30, 2016
    Posts:
    290
    I'm not sure if this is the type of thing that you are looking for, but when searching for text in the unity console, it would be awesome to have the ability to zoom to a particular term, instead of displaying only that term.

    For example if I have a set of debug info that starts with "DEBUG OUTPUT:"
    and I search for "Debug Output" it will only display that line, not the lines surrounding it, so I need to scroll through the entire console log anyway, making searching less useful.
     
  24. TomasVoracek

    TomasVoracek

    Joined:
    Jun 26, 2017
    Posts:
    2
  25. PhoenixAdvanced

    PhoenixAdvanced

    Joined:
    Sep 30, 2016
    Posts:
    290
    wlwl2 likes this.
  26. wlwl2

    wlwl2

    Joined:
    Jun 17, 2018
    Posts:
    27
    I just tried it and I *might* update you all after testing if I get the time. It still doesn't have any grouping options. If you are using 2D Tilemaps or have many 2D animations with the same core name (player/character), it can be hard to find a specific one. I group them together by folders and it's easy to search manually, but any search doesn't seem to take folders into account (just an enchancement suggestion). Group by is another option I suggested earlier.

    Maybe I'm wrong though, we'll see after some testing.
     
  27. wlwl2

    wlwl2

    Joined:
    Jun 17, 2018
    Posts:
    27
    So, two things after a small and quick consideration:

    - I don't feel that I have a reason to use it compared to my previous workflow (as I feel that it doesn't really add anything significantly new or provide better performance out-of-the-box for my workflow).

    - All 8 packages in my project in the package manager are "2019.4 verified" except Quick Search which would have been the 9th package.

    Removing it now.

    Edit: If you are using it and if you do remove it, it doesn't remove these 2 things (which I had to do manually):

    `Assets\Assets.index` which it uses for initial search indexing.

    `UserSettings\QuickSearch.settings` for search settings. I removed the folder too :p.

    I would be interested to know if it has any special uses that you use all the time, if anyone is using it regularly, apart from the macOS or Ubuntu global search-like feature.

    Edit 2: I am using Quick Search now for the fuzzy prefab search. Keeping this here for removal instructions. If I have time, I'll update on whether it solves the other issues I encountered before.
     
    Last edited: Dec 17, 2020
  28. Baste

    Baste

    Joined:
    Jan 24, 2013
    Posts:
    5,618
    Quick Search is awesome!

    Just not having to click in the tiny little search boxes over the hierarchy or project window is neat in itself. Of the top of my head, things it does that standard search doesn't:

    - #string searches for a public, static method named "string". So no more searching through the window-menu in order to open eg. the tilemap palette, I just write "#palette" in Quick Search.
    - GUID-based asset searches
    - Fuzzy search ("te le gr" finds an asset named "TestLedgeGrab")

    There's also some options that I can see being nice that I don't personally use - like the ability to search the scripting API ("web:assetdatabase"), and the ability to make your own search provider in order to search for whatever you want to search for.
     
    Lars-Steenhoff and wlwl2 like this.
  29. Xarbrough

    Xarbrough

    Joined:
    Dec 11, 2014
    Posts:
    1,109
    • What are some of the challenges you currently face when searching in Unity?
    No back/forward navigation (really need a history of recent items to switch back and forth).
    Save queries cannot be saved.
    No smart-folders.
    ASMDEF cannot be found by their type.
    • What activities are triggering the need to search?
    Wanting to edit prefabs, custom ScriptableObjects, materials.
    Opening scenes.
    Looking for what exists in the project if a name or location is not known (e.g. browse for all textures with a prefix).
    • What are you searching for?
    Prefab, ScriptableObject, Scene, Material, Model, Script.
    • From where are you searching?
    Quick Search, Project Window, Hierarchy Window.
    • Are you finding what you need? If not, why?
    Yes, I am, but it's often too many steps involved in tasks that are repeated. I'd like project- and user-specific favorites, saved items or searches, and browser-like navigation with a history panel.

    Spare me the gimmicks
    I'd rather have a robust workflow for finding the files I need every day than fancy integrations with settings, website and co. Quick Search is really good overall, but I've disabled all of its additional features, because I only care about searching quickly and reliably for files I use dozens of times during my work day. For me, it's all about navigating my workflow: write an importer script, find some model, check it works, open a scene, check it works, edit the script, find the model again to test something, open a different scene, edit another prefab, go back to the first scene.
     
    Last edited: Nov 27, 2020
  30. wlwl2

    wlwl2

    Joined:
    Jun 17, 2018
    Posts:
    27
    @Baste @TomasVoracek Fuzzy search for prefabs made Quick Search worthwhile after all. Thanks!
     
  31. Khena_B

    Khena_B

    Joined:
    Aug 21, 2014
    Posts:
    273
    This, I have a plugin that does this but It's getting a little outdated and it just seems like an important feature that's missing, I have a big project and sometime I just can't remember which scripts I'm no longer using, but deleting stuff blindly is really risky.

    Here's the thread where I found the script
     
    johanneskopf and Lars-Steenhoff like this.
  32. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    5,844
    I would like an API to filter the project view for "selected items only" - like what you see when you do a search.
     
  33. manutoo

    manutoo

    Joined:
    Jul 13, 2010
    Posts:
    367
    In the console, when I filter the log and select a line, I'd like that line to be kept selected when I clear the filter.

    This would allow me to easily see the output around the line I found.
     
    PhoenixAdvanced likes this.
unityunity