Search Unity

Official Quick Search Preview

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

  1. sebastienp_unity

    sebastienp_unity

    Unity Technologies

    Joined:
    Feb 16, 2018
    Posts:
    201
    I have written some not so horrible doc for the Quick Search tool. Keep in mind that English is not my first language :) Documentation is available from the Package Manager Window -> Quick Search (click the View Documentation link). It should open your browser at that page: https://docs.unity3d.com/Packages/com.unity.quicksearch@1.0/manual/index.html

    The documentation explains our filter system.

    A few more clarifications on the filter system:

    - There are 2 levels of filter. SearchProvider filters: useful to enable a single Search Provider. These filters must be specified at the BEGINNING of the search query

    p:player -> p for project, will only look for asset
    h:Main Camera -> h for hierarchy. Will only look in the scene
    me:Create Folder -> me for menu. Will look for create folder menu item
    se:VFX -> se for settings.

    All the SearchProvider filter are shown in the FilterWindow:
    qs_filter_Window.png

    Arguably "p:" and "h:" should maybe be renamed something else... "as:" and "sc:"?


    There is also the concept of "in provider filter". Which means that each provider can support its own filtering. The AssetProvider and SceneProvider supports the same query language as the Project Window and the Hierarchy Window. Which means you can use

    t:<Aset type>
    a:<package or assets>

    And such.

    For your case, if you would want only prefabs with Player in their name the more precise query would be:

    "p:player t: Prefab" -> in that case p: limits the search to the AssetProvider

     
  2. fherbst

    fherbst

    Joined:
    Jun 24, 2012
    Posts:
    802
    Hey, not sure why nobody told you yet, but the default shortcut (Alt + ') doesn't work on German keyboards, as this is not a separate key there. If you want the same spot, it would be "Alt + /".

    I guess you don't want people to have to change the shortcut first before it works at all.
     
    pragmascript likes this.
  3. fherbst

    fherbst

    Joined:
    Jun 24, 2012
    Posts:
    802
    Is it somehow possible to change the default action or better, change the default action per file/asset type?

    If I'm searching for scripts I really want the default action to be to Open them, not select the item in the project pane which is pretty useless. Note that I wouldn't want that for image files, so it should really be type-dependant.
     
  4. Baste

    Baste

    Joined:
    Jan 24, 2013
    Posts:
    6,334
    It seems like the shorcuts are bound by physical location - I'm on a Norwegian keyboard, and the quick search launches just fine when I press ctrl+æ.
     
  5. fherbst

    fherbst

    Joined:
    Jun 24, 2012
    Posts:
    802
    Next note: please make the shortcut for opening the modal window also close the modal window. This should be "quick" - I don't want to have press Escape or use my mouse if I change my mind about searching a file.

    Also, would be great if the online search had an Item for "regular web search". If you are for whatever reason not allowed to do that would be great to have a way to enter custom prefix URLs for the online search (similar to what you can do in most browsers by specifying a "Query URL" e.g. "https://duckduckgo.com/?q=%s".
     
  6. fherbst

    fherbst

    Joined:
    Jun 24, 2012
    Posts:
    802
    @Baste, I think they are bound by Keycode, at least that's the behaviour when I change keyboard layouts here (good way to test that is using the "-" key which is in different places on different keyboard layouts).
    Maybe there is already some logic in place to deal with specific layouts / non-existing keys, and it fails because my system language is English? Not sure.
     
  7. sebastienp_unity

    sebastienp_unity

    Unity Technologies

    Joined:
    Feb 16, 2018
    Posts:
    201
    - Different defualt actions per item types: This is on the todo list. No ETA.
    - Shortcut: if you are on 19.1 (and onward) you can use the shortcut manager to rebing any shortcuts.
    - General WebSearch: good idea.
    - Closing the window: the window closes when you activate an item or if you press Escape. I am unsure how reusing the same shortcut would be quicker than Escape (which is mostly a cancel key in any software)?


     
  8. fherbst

    fherbst

    Joined:
    Jun 24, 2012
    Posts:
    802
    Thanks for your replies.
    • Regarding the shortcut: the issue here is that people not using english keyboard layout will have to rebind the shortcut, it would be better if you choose one that actually works across keyboards by default.
    • Closing the window: well, sometimes it just happens. You wanna find something and open the Quick Search but then you see it directly. Instead of typing or moving the mouse and clicking you close the modal window again and just continue where you left off.
      Examples for this kind of on-off button behaviour include:
      • the Windows key (opens the Start Menu, but closes it as well)
      • any task bar (e.g. Windows Task bar) - you can click on sth to open it, if you click again it closes. Yes, you could have also clicked on "Minimize" but it takes much longer
    (Additionally, in general it's a good thing UX-wise if an action can be reverted as easily as started and doesn't require another key/another action.)​
     
  9. fherbst

    fherbst

    Joined:
    Jun 24, 2012
    Posts:
    802
    And another suggestion: could you provide a quick search history?

    upload_2019-5-13_15-3-39.png
    (something like this - could even be smartly sorted based on how often you searched for something, like "last five", "most searched five")
     
  10. jonathans42

    jonathans42

    Unity Technologies

    Joined:
    Jan 25, 2018
    Posts:
    514
    Hi,

    We had this at the beginning, but it got removed for UX reasons. We could bring it back on the table and see if we want to give it another try or not.

    That said, if you open the Quick Search window and press Alt+Up arrow and Alt+Down arrow, it will cycle through the last 10 search queries you've done.
     
    Baste likes this.
  11. I think it can be a separate tab, and not shown by default. Cycling through these two tabs by Alt+Left and Alt+Right?
     
  12. Baste

    Baste

    Joined:
    Jan 24, 2013
    Posts:
    6,334
    Thanks for the explanation. I would prefer it if you added more search provider filters, so we can type less things. A provider filter that limited to just the prefab provider or just the script provider would allow me to type a lot less.
     
  13. xenonmiii

    xenonmiii

    Joined:
    Aug 2, 2010
    Posts:
    147
    Hi all,
    I was working on a similar tool called Omnibar before Quick Search preview by Unity was announced. Being spoiled with something like Alfred or JetBrains' Rider searching capabilities, I wanted to create a similar tool for Unity as I was getting frustrated wasting time to search for stuff as the projects get bigger and bigger. Also wanted to create a tool for supporting custom commands (not just searching). Named groups, moving items around, loading scenes additively are just a few.

    I just had a look at what Unity has done, and I humbly still think that my tool has an edge of Unity's Quick Search, which is getting to your assets/gameobject really fast, i.e. you type less to get to your assets. You can use CamelCasing, or partial substrings to get quick access to all your assets, which from my testing is not supported in Unity's Quick Search (1.0.9 at least).

    Here's a quick video for comparison where I try to search for an item both in Omnibar and Unity's Quick Search:


    A bit of shameless ad for my tool, but if you're interested you can grab Omnibar from the Asset Store:
    http://u3d.as/1sN9

    Here's a more comprehensive video of Omnibar in action:


    P.S. Omnibar shows the history searches when you invoke it, and you also can modify the aliases on how to search for staff as there is an externalized config file you can easily edit ;)
     
  14. sebastienp_unity

    sebastienp_unity

    Unity Technologies

    Joined:
    Feb 16, 2018
    Posts:
    201
    Great work on the Omnibar @xenonmiii! At first quicksearch was called OmniTool but marketing didn't like the name :(

    Some information on the latest release:

    - Search will be indexed and way faster than the asset databse. Our tests on projects with more than 350K items are lighning fast.
    - Search will support CamelCase matching.
    - A few more goodies.

    @xenonmiii : Can the Omnibar be extended? Our goal when we created quicksearch was that everything could be extended:

    - You can easily create a new provider, provide your own indexer, filter and such. This is how we have provider for Assets, Scene objects, Menus, ettings, web search and a calculator. We should bring in a not so distant future provider for packages and more.
    - You can register any custom action for any provider (orthogonal to provider registration). Which means you can augment what the asset provider can do.

    Don't get me wrong I do not want to start a tool war :) I feel the more great tools we have available for the Unity ecosystem the best it is for our users. Keep up the great work.

     
  15. xenonmiii

    xenonmiii

    Joined:
    Aug 2, 2010
    Posts:
    147
    @sebastienp_unity Omnibar can be extended with custom commands, and add your own file types that can be indexed by modifying a config file then force a re-index. Not saying it's as extensible as Unity's tool. Wanted to go down that path of extensibility but wanted to test the waters first as see how it goes before exposing more stuff.

    Glad to hear you will be adding CamelCasing too and having a faster indexing service. Will it have partial substring matching (like you mix camel casing with other substrings)?

    It was still a nice learning experience to create Omnibar. I still find it handy myself including for creating named groups (instead of number shortcuts, which I always get confused).
     
  16. jonathans42

    jonathans42

    Unity Technologies

    Joined:
    Jan 25, 2018
    Posts:
    514
    Another tab could be an idea. As for Alt+Left and Alt+Right, they are already used to open the filter window and to select more actions on the selected item (when you see the small vertical dots on the right) respectively.
     
  17. jonathans42

    jonathans42

    Unity Technologies

    Joined:
    Jan 25, 2018
    Posts:
    514
    We added selection tracking to the `SearchProvider` API. i.e. this can be used to track similarly named objects in an Unity scene and better identify them.

    quick_search_track_selection.gif
     
    SugoiDev and Lahcene like this.
  18. sient

    sient

    Joined:
    Aug 9, 2013
    Posts:
    602
  19. jonathans42

    jonathans42

    Unity Technologies

    Joined:
    Jan 25, 2018
    Posts:
    514
    Yes it will but in version ~1.1.1. Now we just published version 1.1.0-preview.1.

    Changelog:

    - Add a switch to let search provider fetch more results if requested (e.g. `SearchContext.wantsMore`)
    - Add selection tracking to the `SearchProvider` API.
    - Fix search item caching.
    - Improve quick search debouncing when typing.
    - Ping scene objects when the selection changes to a scene provider search item in the Quick Search window.
    - Track project changes so search provider can refresh themselves.
    - Update file indexes when the project content changes.
    - Update UI for Northstar retheming.
     
    SugoiDev likes this.
  20. jonathans42

    jonathans42

    Unity Technologies

    Joined:
    Jan 25, 2018
    Posts:
    514
    If you try the new (experimental) indexed asset provider (see quick search settings) you should be able to simply type: "prefab player" or "player prefab" or even "pla pref" since we also match the asset file extension. You can also use the * wildcard, but that might be slow depending on the amount of assets you have in your project, i.e. "pl*.prefab".
     
  21. User340

    User340

    Joined:
    Feb 28, 2007
    Posts:
    3,001
    I've got 3 feature requests:
    #1: Add support for right-clicking a search result, have it do what the 3 dots on the right do currently.
    #2: Automatically highlight the first result, the one on top.
    #3: Add ability to set the default action when double-clicking or pressing return on a search result. I almost never want it to select the asset, I almost always select "Open Asset".

    Maybe I'm missing something. Is there a way to set the "Default Action"?
     
    Last edited: May 17, 2019
  22. User340

    User340

    Joined:
    Feb 28, 2007
    Posts:
    3,001
    Yes, I like this idea. To make it even better, have the history displayed by default when nothing is being searched (when you first bring up the dialog). Instead of the instructions that are there currently. That should address the UX concerns.
     
  23. jonathans42

    jonathans42

    Unity Technologies

    Joined:
    Jan 25, 2018
    Posts:
    514
    Hi,

    #1 You should be able to press Alt+Right to open that same menu on the selected item.
    #2 There were some UX issues by doing so, . I do not remember then all now, but I'll try to find the reasons and I'll get back to you.
    #3 We've discussed the ability to set the default action, but that would requires some more advance/complexe UI to allow that per provider. We might add this in the future, but for now we are trying to keep the settings and the UI as simple as possible.

    You can try to use all the Alt+Left, Right, Down, Up keyboard shortcuts to do more things. Try it out.
     
  24. User340

    User340

    Joined:
    Feb 28, 2007
    Posts:
    3,001
    Suggestion: Rename "search anything..." too "Quick Search". Please see attachment for more details. Screen Shot 2019-05-17 at 6.20.22 PM.png
     
  25. User340

    User340

    Joined:
    Feb 28, 2007
    Posts:
    3,001
    Ok, sounds good.
    Thx for the tip.
     
  26. Baste

    Baste

    Joined:
    Jan 24, 2013
    Posts:
    6,334
    Just tried this, and it works excellently! The quick search is a whole lot better with this. Thanks!

    Minor thing; getting occasional exceptions when I'm recompiling code:

    Code (csharp):
    1. IOException: Could not create file "C:\Mesmer\Library\~quicksearch.index". File already exists.
    2. System.IO.FileStream..ctor (System.String path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share, System.Int32 bufferSize, System.Boolean anonymous, System.IO.FileOptions options) (at <d7ac571ca2d04b2f981d0d886fa067cf>:0)
    3. System.IO.FileStream..ctor (System.String path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share) (at <d7ac571ca2d04b2f981d0d886fa067cf>:0)
    4. (wrapper remoting-invoke-with-check) System.IO.FileStream..ctor(string,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare)
    5. Unity.QuickSearch.Providers.FileEntryIndexer.UpdateIndexes (System.String[] paths, System.Collections.Generic.IEnumerable`1[T] words, System.String saveIndexBasePath) (at Library/PackageCache/com.unity.quicksearch@1.1.0-preview.1/Editor/Providers/FileEntryIndexer.cs:198)
    6. Unity.QuickSearch.Providers.FileEntryIndexer.BuildWordIndexes () (at Library/PackageCache/com.unity.quicksearch@1.1.0-preview.1/Editor/Providers/FileEntryIndexer.cs:257)
    7. System.Threading.ThreadHelper.ThreadStart_Context (System.Object state) (at <d7ac571ca2d04b2f981d0d886fa067cf>:0)
    8. System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean preserveSyncCtx) (at <d7ac571ca2d04b2f981d0d886fa067cf>:0)
    9. System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean preserveSyncCtx) (at <d7ac571ca2d04b2f981d0d886fa067cf>:0)
    10. System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state) (at <d7ac571ca2d04b2f981d0d886fa067cf>:0)
    11. System.Threading.ThreadHelper.ThreadStart () (at <d7ac571ca2d04b2f981d0d886fa067cf>:0)
    12. UnityEngine.UnhandledExceptionHandler:<RegisterUECatcher>m__0(Object, UnhandledExceptionEventArgs)
    Code (csharp):
    1. ThreadAbortException
    2. System.Int32.CompareTo (System.Int32 value) (at <d7ac571ca2d04b2f981d0d886fa067cf>:0)
    3. Unity.QuickSearch.Providers.FileEntryIndexer.SortWordEntryComparer (Unity.QuickSearch.Providers.FileEntryIndexer+WordIndexEntry item1, Unity.QuickSearch.Providers.FileEntryIndexer+WordIndexEntry item2) (at Library/PackageCache/com.unity.quicksearch@1.1.0-preview.1/Editor/Providers/FileEntryIndexer.cs:341)
    4. System.Collections.Generic.ArraySortHelper`1[T].PickPivotAndPartition (T[] keys, System.Int32 lo, System.Int32 hi, System.Comparison`1[T] comparer) (at <d7ac571ca2d04b2f981d0d886fa067cf>:0)
    5. System.Collections.Generic.ArraySortHelper`1[T].IntroSort (T[] keys, System.Int32 lo, System.Int32 hi, System.Int32 depthLimit, System.Comparison`1[T] comparer) (at <d7ac571ca2d04b2f981d0d886fa067cf>:0)
    6. System.Collections.Generic.ArraySortHelper`1[T].IntrospectiveSort (T[] keys, System.Int32 left, System.Int32 length, System.Comparison`1[T] comparer) (at <d7ac571ca2d04b2f981d0d886fa067cf>:0)
    7. System.Collections.Generic.ArraySortHelper`1[T].Sort (T[] keys, System.Int32 index, System.Int32 length, System.Comparison`1[T] comparer) (at <d7ac571ca2d04b2f981d0d886fa067cf>:0)
    8. Rethrow as InvalidOperationException: Failed to compare two elements in the array.
    9. System.Collections.Generic.ArraySortHelper`1[T].Sort (T[] keys, System.Int32 index, System.Int32 length, System.Comparison`1[T] comparer) (at <d7ac571ca2d04b2f981d0d886fa067cf>:0)
    10. System.Collections.Generic.List`1[T].Sort (System.Comparison`1[T] comparison) (at <d7ac571ca2d04b2f981d0d886fa067cf>:0)
    11. Unity.QuickSearch.Providers.FileEntryIndexer.BuildPartialIndex (System.String basis, System.String[] entries, System.Func`2[T,TResult] skipEntryHandler) (at Library/PackageCache/com.unity.quicksearch@1.1.0-preview.1/Editor/Providers/FileEntryIndexer.cs:319)
    12. Unity.QuickSearch.Providers.FileEntryIndexer.BuildWordIndexes () (at Library/PackageCache/com.unity.quicksearch@1.1.0-preview.1/Editor/Providers/FileEntryIndexer.cs:251)
    13. System.Threading.ThreadHelper.ThreadStart_Context (System.Object state) (at <d7ac571ca2d04b2f981d0d886fa067cf>:0)
    14. System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean preserveSyncCtx) (at <d7ac571ca2d04b2f981d0d886fa067cf>:0)
    15. System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean preserveSyncCtx) (at <d7ac571ca2d04b2f981d0d886fa067cf>:0)
    16. System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state) (at <d7ac571ca2d04b2f981d0d886fa067cf>:0)
    17. System.Threading.ThreadHelper.ThreadStart () (at <d7ac571ca2d04b2f981d0d886fa067cf>:0)
    18. UnityEngine.UnhandledExceptionHandler:<RegisterUECatcher>m__0(Object, UnhandledExceptionEventArgs)
     
    SirIntruder likes this.
  27. User340

    User340

    Joined:
    Feb 28, 2007
    Posts:
    3,001
    Just to clarify, are you going to add right-click support according to #1? This would be a useful addition.
     
  28. jonathans42

    jonathans42

    Unity Technologies

    Joined:
    Jan 25, 2018
    Posts:
    514
    Thanks for the feedback. The first exception has been fixed already and should be in the next update. As for the second one it's a bit more tricky. I am still trying to get a proper fix for it. I'll let you know when it is fixed. That said, the excpetion does not cause any major issues, it mostly just annoying. We'll still get a fixed for it as soon as possible.
     
  29. jonathans42

    jonathans42

    Unity Technologies

    Joined:
    Jan 25, 2018
    Posts:
    514
    Sebastien is working on that and it should be available in the next update. I'll let him show a preview of it.
     
    User340 likes this.
  30. jonathans42

    jonathans42

    Unity Technologies

    Joined:
    Jan 25, 2018
    Posts:
    514
    Do you use Quick Search using a dockable window or not? It might happens more if the window is always open between compilation/domain reload.
     
  31. jonathans42

    jonathans42

    Unity Technologies

    Joined:
    Jan 25, 2018
    Posts:
    514
    One more thing, in the next version the indexed version will also match stuff like Assets/MySuperBigScript.cs with "msbg" or "sbg" or "bg". It will also work the same for Assets/my_super_big_script.cs (same with spaces and dashes).
     
    Baste likes this.
  32. Baste

    Baste

    Joined:
    Jan 24, 2013
    Posts:
    6,334
    I'm not using it as a dockable window, no. It seems like I only have to open the modal window and then close it for this to happen.

    Unity likes to sometimes "lose" ScriptableObjects like EditorWindows. This is a fun situation where you have closed the window, but it's still in some internal list of things that need OnEnable to get called on them. This generally causes exceptions to be thrown on every domain reload until you restart Unity.
    It's rare, and one of those things that's too hard to repro and too low effort for us to ever bother creating a bug report about, but it might be what you're running into here.
     
  33. Marble

    Marble

    Joined:
    Aug 29, 2005
    Posts:
    1,268
    Could the API / Manual search options use locally installed documentation if available?
     
    User340 likes this.
  34. jonathans42

    jonathans42

    Unity Technologies

    Joined:
    Jan 25, 2018
    Posts:
    514
    That's a good idea, we'll see how this could work.
     
  35. Adrian

    Adrian

    Joined:
    Apr 5, 2008
    Posts:
    1,065
    As an experiment, I tried implementing a search provider for the script reference that allows to directly search the Unity API in Quick Search.

    The implementation was straightforward but is there a way for a search provider to influence result order?

    I'm using the search index from the online script reference and mimic its search algorithm. As part of the algorithm, it calculates a score for each search result and using this, the ordering in the online search is much better than when I just feed the results into Quick Search.
     
  36. Adrian

    Adrian

    Joined:
    Apr 5, 2008
    Posts:
    1,065
    Since it was simple, I tried to add a priority field to SearchItem and then used that as an additional sorting cirteria in SearchService's SortItemComparer. See the attached screenshots to see how the results got improved:

    Without item priority:
    without-priority.png

    With item priority:
    with-priority.png

    For simplicity, I just sorted by the items' priority if the providers' priority is the same but ideally, high-priority results from a low-priority provider could show up above low-priority results from a high-priority provider. Maybe it would make sense to establish some default priorities for providers and items to make sure they mix well together (a bit like shaders' render queue).

    As an aside, I was a bit confused that search providers with lower priority values are sorted higher in the list. Shouldn't higher priority values cause the items to appear earlier in the list? This way, the language for low/high priority matches the actual value.
     
    jonathans42 likes this.
  37. sebastienp_unity

    sebastienp_unity

    Unity Technologies

    Joined:
    Feb 16, 2018
    Posts:
    201
    Next version will support a "Score" per item to influence selection order. We use this for Fuzzy search and other search related things.

    Would you like to share your search provider on github (as a gist or in a repo)?

     
    jonathans42 likes this.
  38. Adrian

    Adrian

    Joined:
    Apr 5, 2008
    Posts:
    1,065
    Great!

    Yeah, the plan is to publish it as a package but right now it's not really usable. Will wait for the next version and polish it a bit before a first release.
     
    jonathans42 likes this.
  39. jonathans42

    jonathans42

    Unity Technologies

    Joined:
    Jan 25, 2018
    Posts:
    514
    Looking forward to see this new search provider. Version 1.2.0 will bring some nice features for search provider authors.
     
  40. Carwashh

    Carwashh

    Joined:
    Jul 28, 2012
    Posts:
    762
    Can we have the ability to customise the short cut please? Alt+' doesn't work for me - I assume because I'm using an Apple keyboard on Windows.

    I know the quick search is available via Help -> Quick Search, but using that makes it 'Slowed down quick search'.
     
  41. jonathans42

    jonathans42

    Unity Technologies

    Joined:
    Jan 25, 2018
    Posts:
    514
    Hi, if you have 2019.1 or higher, you can rebind the shortcut with the shortcut manager. See Edit/Shortcuts...., then search for the menu item Help/Quick Search and rebind the shortcut like you want.

    upload_2019-5-24_8-47-1.png

    upload_2019-5-24_8-47-33.png

    Thanks,
     
    Carwashh likes this.
  42. fherbst

    fherbst

    Joined:
    Jun 24, 2012
    Posts:
    802
  43. sebastienp_unity

    sebastienp_unity

    Unity Technologies

    Joined:
    Feb 16, 2018
    Posts:
    201
    Quick unofficial survey:

    What would be the best "compromise" shortcut that could/would best fit all the keyboards of the world? Our goal with the shortcut is as follow:

    - Must be executable with one hand.
    - We aim for the left hand (hence which alt + ' was chosen on Jo's French Canadian keyboard).

    F1? shift + f1?
    alt + 1?

    What else?



     
  44. Carwashh

    Carwashh

    Joined:
    Jul 28, 2012
    Posts:
    762
    Don't use alt! I like shift+F1 .. I'm in the UK, don't know if that works everywhere.
     
  45. jonathans42

    jonathans42

    Unity Technologies

    Joined:
    Jan 25, 2018
    Posts:
    514
    I totally agree with you. It's a bit out of scope for Quick Search to also change the Shortcut Manager, but I'll pass the word around. I use a French Canadian keyboard myself and I usually have to remap many shortcuts.

    Thanks,
     
  46. jonathans42

    jonathans42

    Unity Technologies

    Joined:
    Jan 25, 2018
    Posts:
    514
    I also like only F1, here's the bindings I use on Windows (a mix of vscode and Visual Assist shortcuts):

    upload_2019-5-24_10-10-32.png
     
  47. fherbst

    fherbst

    Joined:
    Jun 24, 2012
    Posts:
    802
    Regarding "What would be the best "compromise" shortcut that could/would best fit all the keyboards of the world?" - I'm not sure how the Shortcut Manager in general is supposed to handle shortcuts that don't exist on a specific keyboard layout - if it did some kind of "automatic re-layouting" all would be good with what you have right now... see https://hacks.mozilla.org/2017/03/internationalize-your-keyboard-controls/ for browsers actually doing this.

    That being said -
    I remapped Quick Search to Alt + X, pressable with one hand and still in typing area (F1 is too far, you have to get away and back from typing position).
    Fast to press on many keyboards is sth like "Shift + E" (which is actually not taken yet in Shortcut Manager).
    Also, I like "Ctrl + Space" - which is also what some other softwares use for Omnibar-style popups.
     
    jonathans42 likes this.
  48. Huacanacha

    Huacanacha

    Joined:
    Aug 16, 2013
    Posts:
    60
    I map to Alt+Space. It's convenient and keeps UX close to Spotlight Search / Alfred on the Mac (which is CMD+Space).
     
    Marble likes this.
  49. jonathans42

    jonathans42

    Unity Technologies

    Joined:
    Jan 25, 2018
    Posts:
    514
    Version 1.2.0-preview.1 of Quick Search is out if you wanna give it a shoot. Try the new asset file path indexing (you can enable it in the user preferences).

    Thanks,
     
  50. Baste

    Baste

    Joined:
    Jan 24, 2013
    Posts:
    6,334
    It seems to be faster!

    I think somebody mentioned it earlier, but I think it'd be a great idea to disable search providers that doesn't support a used filter. So, if I write "player controller t:prefab", the scene search provider should be disabled as it doesn't understand "t:prefab".

    Another minor issue; breaking old habits is hard, and I keep clicking in the project window's search bar before I remember to open the quick search. But when the search bar has focus, the quick search shortcut doesn't work. Is that maybe something that's fixable?

    Just to confirm: The first exception did indeed get fixed, the second one is still there, only when the file system indexing is turned on.

    On Windows that opens this menu for all programs:

    upload_2019-5-29_8-37-25.png

    Nobody knows why alt+space does that. Nobody wanted that menu in the first place. But it's a conflict :(
     
    fherbst likes this.