Search Unity

Official Quick Search Preview

Discussion in 'Editor Workflows' started by benoitd_unity, Feb 26, 2019.

  1. Ziplock9000

    Ziplock9000

    Joined:
    Jan 26, 2016
    Posts:
    360
    Alt + ' doesn't open Quick Search 2.0.2 on a UK keyboard, you have to use the menu

    However alt + # does.. which is where the ' appears on a US keyboard.

    Basic stuff guys...
     
    fherbst likes this.
  2. jonathans42

    jonathans42

    Unity Technologies

    Joined:
    Jan 25, 2018
    Posts:
    514
    Latest version of Quick Search should support file extension. You can try >=com.unity.quicksearch@3.0.0-preview.2 or >=Unity 2021.1
     
  3. jonathans42

    jonathans42

    Unity Technologies

    Joined:
    Jan 25, 2018
    Posts:
    514
    Recent version of quick search now use a dockable window that you can place wherever you want. You can try >=com.unity.quicksearch@3.0.0-preview.2 or >=Unity 2021.1
     
    Lars-Steenhoff likes this.
  4. jonathans42

    jonathans42

    Unity Technologies

    Joined:
    Jan 25, 2018
    Posts:
    514
    Sorry about that. I will notify the shortcut manager owners about this. Meanwhile you can always open the Shortcut Manager and bind your preferred shortcut to open Quick Search. In the >=2021.1 the default shortcut to open the global search was changed to CTRL+K.
     
    Last edited: Dec 21, 2020
    Ziplock9000 likes this.
  5. Lars-Steenhoff

    Lars-Steenhoff

    Joined:
    Aug 7, 2007
    Posts:
    3,526
    This is great!
     
  6. Kleptine

    Kleptine

    Joined:
    Dec 23, 2013
    Posts:
    282
    Suggestion: I definitely prefer files not to be added to the root Assets folder. Is there a way to move that index file?
     
  7. jonathans42

    jonathans42

    Unity Technologies

    Joined:
    Jan 25, 2018
    Posts:
    514
    In recent version you can create a default index that gets stored in the UserSettings/ folder. Otherwise, you can move the .index file pretty much anywhere and explicitly set the roots in json. i.e.

    Assets/Anywhere/Assets.index
    Code (CSharp):
    1. {
    2.     "name": "",
    3.     "type": "asset",
    4.  
    5.  
    6.     "roots": [
    7.         "Assets",
    8.         "Packages/my.cool.package
    9.    ],
    10.  
    11.  
    12.  
    13.    "includes": [],
    14.    "excludes": [
    15.        "Temp/",
    16.        "External/",
    17.        "AddressableAssetsData/",
    18.        "BuildReports/",
    19.        "Plugins/",
    20.        "Queries/",
    21.        "Test/",
    22.        ".cs",
    23.        ".xml"
    24.    ],
    25.    "options": {
    26.        "disabled": false,
    27.        "types": true,
    28.        "properties": true,
    29.        "extended": false,
    30.        "dependencies": false
    31.    },
    32.    "baseScore": 100
    33. }
    upload_2020-12-23_13-52-6.png
     
  8. SugoiDev

    SugoiDev

    Joined:
    Mar 27, 2013
    Posts:
    395
    Are the "files: <true|false>" and "directories: <true|false>" options gone? I'm not seeing them in the index manager.

    I had a "folders only" index so I can give different baseScore to folders, and noticed it was huge. It was indexing everything haha

    I've had to do some other stuff so it's been a few months while since I actually worked with Unity. Maybe I missed this change/discussion. Is the changelog being published somewhere?


    Thanks for all the work!
     
  9. jonathans42

    jonathans42

    Unity Technologies

    Joined:
    Jan 25, 2018
    Posts:
    514
    Hi, those were removed since we are now using the AssetWorker process to do the indexing. We will bring back those filters through the includes=[...] and excludes=[...] patterns in an upcoming version. These patterns will soon support regex and globs as well.
     
    SugoiDev likes this.
  10. delexaet

    delexaet

    Joined:
    Apr 14, 2016
    Posts:
    39
    Is there a way with quick search to search for all gameobjects that have certain component attached to them by the component name?
     
  11. jonathans42

    jonathans42

    Unity Technologies

    Joined:
    Jan 25, 2018
    Posts:
    514
    Yes you simply need to use
    t:component_name
    , i.e.
    t:capsule
    to find game objects that have a component with
    capsule
    in their type name.

    upload_2021-1-14_16-48-56.png

    You can use
    =
    , i.e.
    t=BoxCollider
    if you want to match exactly components with the type name
    BoxCollider
    .

    upload_2021-1-14_16-50-28.png
     
    johanneskopf and Newcomma like this.
  12. delexaet

    delexaet

    Joined:
    Apr 14, 2016
    Posts:
    39
    Ah, thank you, that's exactly what I needed!
     
    jonathans42 likes this.
  13. Baste

    Baste

    Joined:
    Jan 24, 2013
    Posts:
    6,334
    It seems like the static API search has stopped working since 2020.2?

    I used to be able to search for eg. "#palette" to open the tilemap palette. In particular, that found the method
    UnityEditor.Tilemaps.GridPaintPaletteWindow.OpenTilemapPalette.

    These days I only get this:
    upload_2021-1-20_8-49-34.png
    ie. two different static properties. Did something in the backend stop looking for MethodInfos and start looking for PropertyInfos?
     
    phobos2077 likes this.
  14. Newcomma

    Newcomma

    Joined:
    Feb 10, 2015
    Posts:
    89
    Heya, I'm having a hard time doing this with project objects, e.g. t:scene returns no results if searching the project (or all)

    Separately a bug here that can be seen with the colour string tags used for the search categories (3.0.0-preview3, u:2020.2f1)

    233_20.png
     
    Last edited: Jan 20, 2021
  15. Can-Baycay

    Can-Baycay

    Joined:
    Dec 14, 2010
    Posts:
    27
    EDIT: My bad. Sorry. I guess Quick Search is integrated into the Editor and no longer served as a package. It's shortcut has changed too, which I've failed to notice.

    Seems like Quick Search 3.0.0-preview.3 is incompatible with Unity 2021.1.0b3.
    Are there any plans to put it back on track soon?

    Losing access to Quick Search made me realize that it really became an essential part of Unity experience. I felt so powerless trying to survive searching assets through Project window. For that, I greatly appreciate your incredible work.
     
    Last edited: Jan 26, 2021
    Schodemeiss likes this.
  16. TextusGames

    TextusGames

    Joined:
    Dec 8, 2016
    Posts:
    429
    Hello.

    1. How do I create multiple instances of QuickSearch window?
    I need multiple dockable windows. It is useful than you need to often switch between different groups of objects.
    Will multiple windows be supported?

    2. Then window is docked. The ESC button should not close it. This button should clear search field like search in hierarchy window does. You should give such option.
     
    Last edited: Jan 25, 2021
  17. TJHeuvel-net

    TJHeuvel-net

    Joined:
    Jul 31, 2012
    Posts:
    838
    I really dont like how Unity seems to get rid of packages, and integrate features directly in the editor. It seems like such a step back.

    I have tried quick search some time ago and found out it added huge spikes to our workflow, so i could easily remove the package. Now it will be integrated in 2021.1 i wont have this option.
     
    Kolyasisan and phobos2077 like this.
  18. Schodemeiss

    Schodemeiss

    Joined:
    Jan 4, 2018
    Posts:
    43
    Actually, like most modules in Unity, you can disable them even if they're built in. Go to the package manager, go to Packages: Built-in and simply disable it like you would any other package. I tend to do this for Physics2D and any other modules I know I'm not going to need.
     
    TextusGames and Alic like this.
  19. Schodemeiss

    Schodemeiss

    Joined:
    Jan 4, 2018
    Posts:
    43
    I too am getting this bug in Unity 2021.1.0b4:

    Library\PackageCache\com.unity.quicksearch@3.0.0-preview.3\Editor\QuickSearch.cs(777,57): error CS0122: 'SearchQuery' is inaccessible due to its protection level.

    Also, people keep talking about Quicksearch being built into Unity Editor, but I don't see that it is? I see Searcher, which is for the Graph Tools, but is a different thing entirely, right?
     
  20. Can-Baycay

    Can-Baycay

    Joined:
    Dec 14, 2010
    Posts:
    27
    See if there is a menu item "Edit > Search All...". I guess this is the new Quick Search.
     
    Schodemeiss likes this.
  21. Schodemeiss

    Schodemeiss

    Joined:
    Jan 4, 2018
    Posts:
    43
    So it is! Fascinating. Wonder why they changed it's name!
     
  22. jonathans42

    jonathans42

    Unity Technologies

    Joined:
    Jan 25, 2018
    Posts:
    514
    Indeed after some investigation, there is something that changed how all assemblies get scanned after >=2020.2. I am working on a fix now. I'll ping you when this gets resolved.
     
    Baste likes this.
  23. jonathans42

    jonathans42

    Unity Technologies

    Joined:
    Jan 25, 2018
    Posts:
    514
    Hi, I am not sure how you have setup your project indexes, but normally t:scene should return all .unity files.

    upload_2021-2-1_10-46-39.png

    Can you try with *.unity?

    upload_2021-2-1_10-47-21.png
     
  24. jonathans42

    jonathans42

    Unity Technologies

    Joined:
    Jan 25, 2018
    Posts:
    514
    In >=2021.1 Quick Search is built-in, so you do not need the package anymore. The default shortcut is now CTRL+K, but you can easily change it back to want you want in the shortcut manager:

    upload_2021-2-1_10-58-18.png
     
    Lars-Steenhoff likes this.
  25. jonathans42

    jonathans42

    Unity Technologies

    Joined:
    Jan 25, 2018
    Posts:
    514
    Sorry for the issue you've might have got in the past. Please report any performance issues you might still have and we'll address them as soon as possible. Also, in >=2021.1 if you do not open the search window, nothing should be indexed by default, therefore no resources should be consumed until the first time you use the search feature.
     
  26. jonathans42

    jonathans42

    Unity Technologies

    Joined:
    Jan 25, 2018
    Posts:
    514
    You can create multiple window instances using the API if you want. Using SearchService.ShowWindow (https://docs.unity3d.com/2021.1/Documentation/ScriptReference/Search.SearchService.ShowWindow.html) you'll be able to set reuseExisting: false in order to create a new search window instance.

    Yes I think that would be a better workflow. I'll create a task on our side to prevent ESC from closing the window if it is docked and instead clear the search text field.

    Issue tracker: https://issuetracker.unity3d.com/is...-should-not-close-the-search-window-if-docked
     
    Last edited: Feb 1, 2021
    TextusGames likes this.
  27. jonathans42

    jonathans42

    Unity Technologies

    Joined:
    Jan 25, 2018
    Posts:
    514
    Ok it should now be fixed in next version. Here's a few example:

    upload_2021-2-1_11-53-38.png

    upload_2021-2-1_11-53-54.png

    upload_2021-2-1_11-54-33.png

    upload_2021-2-1_11-54-59.png
     
  28. Baste

    Baste

    Joined:
    Jan 24, 2013
    Posts:
    6,334
    Nice, thanks!

    Added some Unit tests to catch the regression?
     
  29. jonathans42

    jonathans42

    Unity Technologies

    Joined:
    Jan 25, 2018
    Posts:
    514
    Now yes! The static method provider didn't have any!

    Code (CSharp):
    1.  
    2. using NUnit.Framework;
    3. using System.Collections.Generic;
    4. using System.Collections;
    5. using UnityEditor.Search;
    6. using UnityEngine.TestTools;
    7. class StaticMethodProviderTests : QuickSearchTests
    8. {
    9.     public static void GetPalette()
    10.     {
    11.     }
    12.     public static void OpenTilemapPalette()
    13.     {
    14.     }
    15.  
    16.     public class TestQuery
    17.     {
    18.         public string query;
    19.         public string expectedResult;
    20.         public override string ToString() => query;
    21.     }
    22.  
    23.     public static IEnumerable<TestQuery> TestQueryCases()
    24.     {
    25.         yield return new TestQuery { query = "palette", expectedResult = "StaticMethodProviderTests.GetPalette" };
    26.         yield return new TestQuery { query = nameof(OpenTilemapPalette), expectedResult = "StaticMethodProviderTests.OpenTilemapPalette" };
    27.         yield return new TestQuery { query = "open palette", expectedResult = "StaticMethodProviderTests.OpenTilemapPalette" };
    28.         yield return new TestQuery { query = "version", expectedResult = "UnityEngine.Application.get_version" };
    29.         yield return new TestQuery { query = "pref folder", expectedResult = "UnityEditorInternal.InternalEditorUtility.get_unityPreferencesFolder" };
    30.     }
    31.  
    32.     [UnityTest]
    33.     public IEnumerator RunQuery([ValueSource(nameof(TestQueryCases))] TestQuery test)
    34.     {
    35.         var staticMethodProvider = SearchService.GetProvider("static_methods");
    36.         using (var searchContext = SearchService.CreateContext(staticMethodProvider, test.query))
    37.         using (var results = SearchService.Request(searchContext))
    38.         {
    39.             while (results.pending)
    40.                 yield return null;
    41.             CollectionAssert.Contains(results.Select(r => r.description.Trim()), test.expectedResult);
    42.         }
    43.     }
    44. }
     
    Baste likes this.
  30. Newcomma

    Newcomma

    Joined:
    Feb 10, 2015
    Posts:
    89
    Thanks for responding, "it's now working", I guess it's possible my project wasn't fully indexed at the stage I was trying to perform the t:scene query, but double checking today it seems to be working as expected (and also the raw string colour <> is resolved correctly to an actual colour).

    Possibly a minor bug from upgrading the package in unity before shutting down and re-opening unity.

    Appreciate your attentiveness to this thread regardless!
     
  31. jonathans42

    jonathans42

    Unity Technologies

    Joined:
    Jan 25, 2018
    Posts:
    514
    Actually this bug is still in quicksearch@3.0.0-preview.3, but is fixed in >=2021.1. I will publish com.unity.quicksearch@3.0.0-preview.4 this week if all goes well for those on 2020.2.

    Thanks,
     
  32. TextusGames

    TextusGames

    Joined:
    Dec 8, 2016
    Posts:
    429
    @jonathans42
    Then I dock several windows via
    SearchService.ShowWindow(saveFilters: true, reuseExisting: false)
    .SetSearchText(string.Empty);
    Then enter some text in search field like this.
    upload_2021-2-2_20-47-51.png

    Then I hit play the content of search field becomes identical in all windows. This is not desirable and ruins the purpose of multiple dockable windows.
    upload_2021-2-2_20-48-3.png

    Could you make the text of search field persistant and unique for each instance of Searcher? (it needs to survive recompiling, hitting play and reopenning editor) ?
    (Something that I can do myself today to fix this would also be a great help)

    Also I can see how text's caret is blinking in multiple search field even then they are not focused.
     
  33. TextusGames

    TextusGames

    Joined:
    Dec 8, 2016
    Posts:
    429
    It is good that I can create windows myself from script.
    But I still need to add this script in each project I use.

    I feel like there should be an menu item to create multiple dockable windows by default.
    Just one menu item would be enough.

    We can create multiple dockable project windows(And searcher can be like an advanced version of it).

    So please make an default option to create multiple dockable windows.
    upload_2021-2-2_21-9-12.png

    (Code like this should be some there in static editor class
    Code (CSharp):
    1.     [MenuItem("Window/Search/New Dockable Window")]
    2.     public static void NewWindowMenu()
    3.     {
    4.         SearchService.ShowWindow(dockable: true, reuseExisting: false)
    5.             .SetSearchText(string.Empty);
    6.     }
    )
     

    Attached Files:

  34. jonathans42

    jonathans42

    Unity Technologies

    Joined:
    Jan 25, 2018
    Posts:
    514
    It is unique. I believe that is because you re-use the came SearchContext. You should create a new search context for each call to SearchService.ShowWindow. i.e.

    Code (CSharp):
    1.  
    2. [MenuItem("Test/Open Multiple Search Window")]
    3. static void OpenMultipleSearchWindow()
    4. {
    5.     SearchService.ShowWindow(SearchService.CreateContext("pg:biome"));
    6.     SearchService.ShowWindow(SearchService.CreateContext("p:width>=128"));
    7.     SearchService.ShowWindow(SearchService.CreateContext("h:settings"));
    8.     SearchService.ShowWindow(SearchService.CreateContext("test runner"));
    9. }
    10.  
    upload_2021-2-2_13-18-9.png
     
  35. jonathans42

    jonathans42

    Unity Technologies

    Joined:
    Jan 25, 2018
    Posts:
    514
    We could do that. I'll discuss it with the team and get back to you.
     
    TextusGames likes this.
  36. jonathans42

    jonathans42

    Unity Technologies

    Joined:
    Jan 25, 2018
    Posts:
    514
    Ok I think I know what happened with the window serialization. I will improve this in next version. When I tested I was in a DOTS project that do not do a domain reload when entering play mode.
     
    Last edited: Feb 2, 2021
    TextusGames likes this.
  37. Baste

    Baste

    Joined:
    Jan 24, 2013
    Posts:
    6,334
    Note that none of the other windows in Unity does this. If you go window->animation or window->scene, you focus that window if it already exists, instead of making a new one.

    For most windows, this isn't a choice that's made as much as due to that this is how GetWindow<> is implemented.

    I would be totally happy if you got a new scene view if I did window->scene, so I don't disagree with you per se, but it should probably be consistent. The way we get additional scene views is to go to the drop-down menu on windows and select add window, so maybe quick search could go in there?
     
    jonathans42 and TextusGames like this.
  38. TextusGames

    TextusGames

    Joined:
    Dec 8, 2016
    Posts:
    429
    For me it does not matter there this menu item is as long as it IS somewhere)
     
  39. JoNax97

    JoNax97

    Joined:
    Feb 4, 2016
    Posts:
    611
    Really liking quick search!

    I just wanted to ask, is there any way to open it using a double-shift, like in Rider?

    I don't mind doing some scripting to get to that, but so far I couldn't get it right.
     
  40. jonathans42

    jonathans42

    Unity Technologies

    Joined:
    Jan 25, 2018
    Posts:
    514
    Unfortunately the shortcut manager doesn't support such key sequences to trigger an action. That said, I'll try to play with this idea and see how this could be achieved. I'll get back to you.
     
  41. JoNax97

    JoNax97

    Joined:
    Feb 4, 2016
    Posts:
    611
    The sequence part I think I can solve by hand, setting a variable on key press and un-set after a few milliseconds.

    The blocker I found is that I can't listen to shift on it's own, only as a modifier
     
  42. jonathans42

    jonathans42

    Unity Technologies

    Joined:
    Jan 25, 2018
    Posts:
    514
    Someone gave me that script you could try to play with. I haven't tried it myself yet, but the idea is to use some reflection to access a global event handler to capture some low level events. Use at your own risk.

    Code (CSharp):
    1. #if UNITY_EDITOR
    2.     [ExecuteInEditMode]
    3.     [InitializeOnLoad]
    4. #endif
    5.     public class SearchHotkeyListener : MonoBehaviour
    6.     {
    7. #if UNITY_EDITOR
    8.         private static string ssListenerNameValue = "Listener";
    9.         static bool ssShouldOpen(Event e, Type ssSettings)
    10.         {
    11.             return true;
    12.         }
    13.         static void ssToggleWindow(Type ssWindow)
    14.         {
    15.             MainWindow.Toggle();
    16.         }
    17.         static SearchHotkeyListener()
    18.         {
    19.             var ssTypes = AppDomain.CurrentDomain.GetAssemblies().SelectMany(t => t.GetTypes())
    20.                 .Where(t => t.IsClass && t.Namespace == "Plawius.Search");
    21.             var ssPublicSettings = ssTypes.FirstOrDefault(t => t.Name == "SearchPublicSettings");
    22.             var ssWindow = ssTypes.FirstOrDefault(t => t.Name == "SearchWindow");
    23.             if (ssPublicSettings == null)
    24.             {
    25.                 Debug.LogError("SearchPublicSettings is not found! Dll is missing? Reinstall Search, please");
    26.                 return;
    27.             }
    28.             if (ssWindow == null)
    29.             {
    30.                 Debug.LogError("SearchWindow is not found! Dll is missing? Reinstall Search, please");
    31.                 return;
    32.             }
    33.             Create(e => // will call GetAllObjects, so cannot call from static ctor
    34.             {
    35.                 var result = ssShouldOpen(e, ssPublicSettings);
    36.                 if (result)
    37.                     ssToggleWindow(ssWindow);
    38.                 return result;
    39.             });
    40.         }
    41.         public static void Create(Func<Event, bool> callback)
    42.         {
    43.             m_instance = null;
    44.             Assert.IsNull(m_callback);
    45.             m_callback = callback;
    46.             EditorApplication.update += CreateInstanceIfNone;
    47.         }
    48.         private EditorApplication.CallbackFunction m_keyEventCallback;
    49.         private EditorApplication.CallbackFunction m_updateCallback;
    50.         private static Func<Event, bool> m_callback = null;
    51.         private static GameObject m_instance = null;
    52.         static void CreateInstanceIfNone()
    53.         {
    54.             foreach (var listener in Resources.FindObjectsOfTypeAll<SearchHotkeyListener>())
    55.             {
    56.                 DestroyImmediate(listener.gameObject, false);
    57.             }
    58.             if (m_instance == null && m_callback != null)
    59.             {
    60.                 m_instance = new GameObject(ssListenerNameValue, typeof(SearchHotkeyListener));
    61.                 m_instance.hideFlags = HideFlags.HideAndDontSave | HideFlags.HideInInspector;
    62.             }
    63.             EditorApplication.update -= CreateInstanceIfNone;
    64.         }
    65.         private void Awake()
    66.         {
    67.             m_keyEventCallback = CheckKeyEvent;
    68.             m_updateCallback = UpdateKey;
    69.         }
    70.         void SetCallback(bool add)
    71.         {
    72.             var info = typeof(EditorApplication).GetField("globalEventHandler",
    73.                 System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.NonPublic);
    74.             var value = (EditorApplication.CallbackFunction) info.GetValue(null);
    75.             if (add)
    76.                 value += m_keyEventCallback;
    77.             else
    78.                 value -= m_keyEventCallback;
    79.             info.SetValue(null, value);
    80.         }
    81.         private void OnEnable()
    82.         {
    83.             SetCallback(true);
    84.             EditorApplication.update += m_updateCallback;
    85.         }
    86.         private void OnDisable()
    87.         {
    88.             SetCallback(false);
    89.             EditorApplication.update -= m_updateCallback;
    90.         }
    91.         private void CheckKeyEvent()
    92.         {
    93.             var e = Event.current;
    94.             if (e != null && e.keyCode != KeyCode.None)
    95.             {
    96.                 if (m_callback != null && m_callback(e))
    97.                     e.Use();
    98.             }
    99.         }
    100.         void UpdateKey()
    101.         {
    102.             if (PendingKeyUp())
    103.             {
    104.                 UnityEditorInternal.InternalEditorUtility.RepaintAllViews();
    105.             }
    106.         }
    107.         private bool PendingKeyUp()
    108.         {
    109.             return m_previousEvent != null && m_previousEvent.keyCode != KeyCode.None;
    110.         }
    111.         private Event m_previousEvent;
    112.         void OnGUI()
    113.         {
    114.             var e = Event.current;
    115.             if (EditorApplication.isPlaying)
    116.             {
    117.                 if (e != null && e.keyCode != KeyCode.None)
    118.                 {
    119.                     if (m_callback != null && m_callback(e))
    120.                         e.Use();
    121.                 }
    122.             }
    123.             else
    124.             {
    125.                 // only have Layer and Repaint
    126.                 if (e != null && e.type == EventType.Repaint)
    127.                 {
    128.                     if (m_previousEvent != null)
    129.                     {
    130.                         if (e.keyCode != m_previousEvent.keyCode && m_previousEvent.keyCode != KeyCode.None)
    131.                         {
    132.                             m_previousEvent.type = EventType.KeyUp;
    133.                             if (m_callback != null)
    134.                                 m_callback(m_previousEvent);
    135.                         }
    136.                     }
    137.                     m_previousEvent = new Event(e);
    138.                 }
    139.             }
    140.         }
    141. #endif
    142.     }
     
    JoNax97 likes this.
  43. RunninglVlan

    RunninglVlan

    Joined:
    Nov 6, 2018
    Posts:
    182
    I'm running PlayMode tests and Quick Search decides to update its search index. Why?
    Because of that I sometimes get Unhandled log message: '[Error] Cannot get non-existing progress id 309.'.
    Using 2021.1.0b5.1871
     
  44. jonathans42

    jonathans42

    Unity Technologies

    Joined:
    Jan 25, 2018
    Posts:
    514
    Hi, I guess the search database object was still in memory from previous domain and the system reload it when a domain reload occurred (just like any EditorWindow or active ScriptableObject). That said you shouldn't get that error about the progress reporting.

    Which version of Unity and or the quick search package are you using? If you are able to repro the issue please log an issue and we will investigate on our side.
     
  45. RunninglVlan

    RunninglVlan

    Joined:
    Nov 6, 2018
    Posts:
    182
    Hm, I guess it was a rare issue, doesn't happen anymore.
     
  46. TextusGames

    TextusGames

    Joined:
    Dec 8, 2016
    Posts:
    429
    Adding separate symbol in search does not narrow down the search result.
    (Watch the difference between new search and old search in botoom project window).
    upload_2021-2-27_14-19-33.png

    Double symbols do just right.
    upload_2021-2-27_14-21-1.png

    It would be good if separate symbol also can contribute to search.

    Sometimes even 2 symbols is not enough to constrain

    upload_2021-2-27_17-29-21.png upload_2021-2-27_17-29-40.png

    Now I guess I am confused how does search work.
     
    Last edited: Feb 27, 2021
  47. TextusGames

    TextusGames

    Joined:
    Dec 8, 2016
    Posts:
    429
    @jonathans42

    Could we have a search history tab?

    It could be very useful for mouse oriented persons.

    Then you are working on some task that requires constant asset switching those searches would be populated in list at hystory tab and you then just need to click on item in list. ( you can make saved searches (not eveyony will do that) but in cases there you will not need that searches in near feature it will be good to use list of search hystory (almost everyone will get benefits of it becouse it is populated automatically )

    upload_2021-2-27_14-40-13.png


    We should have this feature.
     
    Last edited: Feb 27, 2021
  48. TextusGames

    TextusGames

    Joined:
    Dec 8, 2016
    Posts:
    429
    upload_2021-2-27_14-57-57.png
    Why does matched symbols in asset name is not highlighted, only asset path?
     
    Last edited: Feb 27, 2021
  49. TextusGames

    TextusGames

    Joined:
    Dec 8, 2016
    Posts:
    429
    upload_2021-2-27_17-4-10.png upload_2021-2-27_17-4-38.png upload_2021-2-27_17-4-51.png upload_2021-2-27_17-5-23.png

    Why does writing "folder" (without t:folder) is not constraining results to folders (directories) but writing "gameObject" or "scene" or other types does constrain results?
     
  50. jonathans42

    jonathans42

    Unity Technologies

    Joined:
    Jan 25, 2018
    Posts:
    514
    I will investigate that case and get back to you. I know that sometimes we ignore one character words, but two character words should work just fine. Which version are you using exactly?

    Yes that would be a good idea, but for now you can use ALT+UP and ALT+DOWN to cycle through your last searches. I think we keep the last 10 searches.

    We could easily add a way to favorite search queries that do not necessarily get saved as an asset, but just save the string in your preferences for later (like a bookmark). I'll discuss this with the team.

    We could do the highlight in the label too, but at first we wanted to prevent too many highlighting going on.

    Folder is not a real type, therefore it doesn't got indexed like other types, but in the next release I will add word matches for
    folder
    and that will solve this.

    Thanks for the great feedback.
     
    TextusGames likes this.