Quick Search Preview

Hello,

We’re very excited to share a new feature we have been working on, called Quick Search. Think of Spotlight Search for macOS but that you can use to look for different things across the editor.

How to get it
Quick Search is currently only available as a Preview package via the Package Manager. Make sure you have Show preview packages enabled in the Advanced dropdown in order to access it. The feature is officially supported with Unity 2019.1 and higher.

How does it work
You can invoke Quick Search via the menu entry Help → Quick Search or via the associated keyboard shortcut, which is the recommended way for increased efficiency.

As you type in the search field, Quick Search will immediately start searching across all search providers. You can then navigate through the results with the arrow keys. Some items have multiple actions, which you can quickly access via the Alt-Right Arrow keyboard shortcut.

Quick Search comes with a few default search providers (Assets, Hierarchy, Settings, etc…) and we are planning to add even more in the future. It is also possible to add your own custom search providers via the API with only a few lines of code.

This is only a quick overview and if you want to know more, head over to the documentation from the Package Manager window.

Feedback
This feature is still in development but we’re interested to know what else it could do for you so try it out and please share your feedback.

13 Likes

Is it +2019.1? I’m on 2018.3.0f2 and I can’t see it.
Also it would be really nice if you could include some screenshots of the Quick Search.

2 Likes

This sounds like it would massively speed up some of our workflows. I also can’t see it - we’re stuck on 2018.2 for the time being. It would be great to know Unity version restrictions - I really hope this will be available for 2018.4 LTS. Screenshots would also be cool!

What can we do with custom providers? We have a bunch of asset types that we edit through custom windows - think AnimatorControllers. Will be be able to specify that the custom providers should open the selected thing in a window? Or do any arbitrary action, really?

Hi Baste, I know it works on 2018.3, so we could certainly downgrade the requirement to 2018.3, but for the time being it is targeting 2019.1.

You can do a lot with custom search providers. In the package folder you’ll find an Examples/ folder with other search providers to feed your mind.

This is not the most up-to-date doc, but you can take a look at https://docs.unity3d.com/Packages/com.unity.quicksearch@0.9/manual/index.html#api

The documentation will be updated for release 1.0 in the next few days.

We are planning to provide such provider as examples, but if a window can be opened by feeding a search query that should be pretty simple.

Thanks for the feedback,

1 Like

If you have a project on 2018.3, you can edit your manifest.json and add this line:

"com.unity.quicksearch": "1.0.0-preview.2"

I just tried it and it worked. By default, the package manager UI won't list packages that targets a different version, but it doesn't prevent you from manually adding them.

4261669--380482--upload_2019-2-27_8-42-44.png

Thanks,

2 Likes

Here’s a gif show casing most of the features it supports.

4261678--380500--quicksearch_tool_tour.gif

12 Likes

Have you looked at "MonKey" ?

It a nice addition but honestly if it is just limited to search...

We have looked at it and it is a nice plugin that does way more than searching. Our goal with the quicksearch was to provide an out of the box search tool since this workflow was cruelly lacking. Then add more SearchProvider to implement more complex workflow (see our Examples folder for a Code executor, a calculator, a text indexer and an asset store searcher).

2 Likes

Excellent work. I would consider having an option to set the size of the search area, because sometimes there’s a lot of assets and we want to dig through a lot of similarly named ones.

Try testing the scenario where you have got 20-30 or so animations imported for the same character. When importing animations separately like this for use in Animator, it also imports all the meshes as well, so you get a ton of the same-named meshes in a lot of real world projects.

That might be a nice case study for consideration.

You can import only the animations by selecting only the bones and helper objects for your rig and export only those selected objects. Basically, excluding the mesh from the export and you get animations only, this is what I usually do.

1 Like

fantastic addition to the editor ux, thank you :slight_smile:

2 Likes

It looks very similar to Haste from the screenshots. Is this from the Haste developer who perhaps works for Unity Technologies now?

Possible to bring search to enum fields as well? I think at some point, most developers will feel the pain from scrolling the endless list, when it would be nice to, in the drop-down just specify a letter even.

Example

Not essential but certainly a pain point for many developers.

1 Like

This looks great! One thing MonKey has that could be of interest for you guys here is the ability it has to read parameters, which in my opinion is really useful when you want to do more advanced stuff. This way you’re free to use the interface for more than just searching stuff.

It will forward any parameters to the actual search provider. For example, searching for assets, if you enter t:Script Player, it will only search through script files. Is that what you were suggesting?

A search that finds where a specific asset is used.

For example, I want to find all materials that reference a certain texture. Or I want to find all prefabs that reference a particular material. Or I want to find all scenes that reference a specific prefab. Or I want to find all prefabs where a certain .asset file is referenced. Etc…

3 Likes

I was thinking more of an arbitrary recognition of parameters so users can create their own commands, or maybe you intend the tool to only work with the search provider?

You can create and provide your own search provider, which could just be a command interpreter with its own set of parameters.

1 Like

No there is no association.

1 Like

You could create your own SearchProvider that behaves like a command system. If you look in the Editor/Providers/Examples folder, you’ll find Eval.cs and Calculator.cs that supports command input.

We might provide a simple command system that supports macros and parameters in upcoming version.

Thanks,