Version: 2023.1
LanguageEnglish
  • C#

SearchService

class in UnityEditor.Search

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Submission failed

For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

Description

Principal Search API to initiate searches and fetch results.

Make sure to check SearchService.Request for a complete list of all the different ways to execute a search request.

using System.Linq;
using System.Collections.Generic;
using UnityEditor;
using UnityEditor.Search;
using UnityEngine;

static class Example_SearchService
{
    [MenuItem("Examples/SearchService/Class")]
    public static void Run()
    {
        void OnSearchCompleted(SearchContext context, IList<SearchItem> items)
        {
            foreach (var item in items)
                Debug.Log(item);
        }

        SearchService.Request("*.cs", OnSearchCompleted);
    }

    [MenuItem("Examples/SearchService/Providers")]
    public static void RunProviders()
    {
        // Print special search providers
        foreach (var provider in SearchService.Providers.Where(p => p.isExplicitProvider))
            Debug.Log($"Special Search Provider {provider.name} ({provider.id})");
    }

    [MenuItem("Examples/SearchService/OrderedProviders")]
    public static void RunOrderedProviders()
    {
        // Print providers by their search priority when a query is executed.
        foreach (var provider in SearchService.OrderedProviders)
            Debug.Log($"[{provider.priority}] {provider.name} ({provider.id})");
    }
}

Static Properties

OrderedProvidersReturns the list of search providers sorted by priority.
ProvidersReturns the list of all search providers (active or not).

Static Methods

CreateContextCreates context from a list of search provider IDs.
CreateIndexCreate a new search index.
EnumerateDatabasesEnumerate search databases.
GetActionReturns the search action for a given search provider and search action ID.
GetActiveProvidersReturns all active providers.
GetItemsInitiates a search and returns all search items matching the search context. Other items can be found later using asynchronous searches.
GetProviderReturns the data of a search provider given its ID.
IsIndexReadyIndicates if a search index is ready to be used.
RefreshClears everything and reloads all search providers. Use with care. Useful for unit tests.
RefreshWindowsRefresh all currently opened Search windows.
RequestExecutes a search request that will fetch search results asynchronously.
SetActiveActivates or deactivates a search provider. Call Refresh after this to take effect on the next search.
ShowContextualOpen the search window using a specific context (activating specific filters).
ShowObjectPickerOpen a Search Picker window for Unity objects.
ShowPickerOpen a search item picker window.
ShowWindowCreates a new search window.