docs.unity3d.com
    Show / Hide Table of Contents

    Class SearchService

    Principal Quick Search API to initiate searches and fetch results.

    Inheritance
    Object
    SearchService
    Namespace: UnityEditor.Search
    Syntax
    public static class SearchService

    Properties

    OrderedProviders

    Returns the list of providers sorted by priority.

    Declaration
    public static IEnumerable<SearchProvider> OrderedProviders { get; }
    Property Value
    Type Description
    IEnumerable<SearchProvider>

    Providers

    Returns the list of all providers (active or not)

    Declaration
    public static List<SearchProvider> Providers { get; }
    Property Value
    Type Description
    List<SearchProvider>

    Methods

    CreateContext(IEnumerable<String>, String, SearchFlags)

    Create context from a list of provider id.

    Declaration
    public static SearchContext CreateContext(IEnumerable<string> providerIds, string searchText = "", SearchFlags flags = SearchFlags.Sorted | SearchFlags.Default)
    Parameters
    Type Name Description
    IEnumerable<String> providerIds

    List of provider id

    String searchText

    seach Query

    SearchFlags flags

    Options defining how the query will be performed

    Returns
    Type Description
    SearchContext

    New SearchContext

    CreateContext(IEnumerable<SearchProvider>, String, SearchFlags)

    Create context from a list of providers.

    Declaration
    public static SearchContext CreateContext(IEnumerable<SearchProvider> providers, string searchText = "", SearchFlags flags = SearchFlags.Sorted | SearchFlags.Default)
    Parameters
    Type Name Description
    IEnumerable<SearchProvider> providers

    List of providers

    String searchText

    seach Query

    SearchFlags flags

    Options defining how the query will be performed

    Returns
    Type Description
    SearchContext

    New SearchContext

    CreateContext(String)

    Declaration
    public static SearchContext CreateContext(string searchText)
    Parameters
    Type Name Description
    String searchText
    Returns
    Type Description
    SearchContext

    CreateContext(String, String, SearchFlags)

    Create a search context for a single search provider.

    Declaration
    public static SearchContext CreateContext(string providerId, string searchText = "", SearchFlags flags = SearchFlags.Sorted | SearchFlags.Default)
    Parameters
    Type Name Description
    String providerId

    Search provider ID string (such as asset, scene, find, etc.)

    String searchText

    Initial search text to be used to evaluate the query.

    SearchFlags flags

    Additional search options to be used for the query evaluation.

    Returns
    Type Description
    SearchContext

    The newly created search context. You need to call Dispose on the SearchContext when you are done using it for queries.

    CreateContext(String, SearchFlags)

    Create a search context with all active providers.

    Declaration
    public static SearchContext CreateContext(string searchText, SearchFlags flags)
    Parameters
    Type Name Description
    String searchText
    SearchFlags flags
    Returns
    Type Description
    SearchContext

    CreateContext(SearchProvider, String)

    Create a search context with a single search provider.

    Declaration
    public static SearchContext CreateContext(SearchProvider provider, string searchText = "")
    Parameters
    Type Name Description
    SearchProvider provider
    String searchText
    Returns
    Type Description
    SearchContext

    GetAction(SearchProvider, String)

    Returns the search action data for a given provider and search action id.

    Declaration
    public static SearchAction GetAction(SearchProvider provider, string actionId)
    Parameters
    Type Name Description
    SearchProvider provider

    Provider to lookup

    String actionId

    Unique action ID within the provider.

    Returns
    Type Description
    SearchAction

    The matching action

    GetItems(SearchContext, SearchFlags)

    Initiate a search and return all search items matching the search context. Other items can be found later using the asynchronous searches.

    Declaration
    public static List<SearchItem> GetItems(SearchContext context, SearchFlags options = SearchFlags.Sorted | SearchFlags.Default)
    Parameters
    Type Name Description
    SearchContext context

    The current search context

    SearchFlags options

    Options defining how the query will be performed

    Returns
    Type Description
    List<SearchItem>

    A list of search items matching the search query.

    GetProvider(String)

    Returns the data of a search provider given its ID.

    Declaration
    public static SearchProvider GetProvider(string providerId)
    Parameters
    Type Name Description
    String providerId

    Unique ID of the provider

    Returns
    Type Description
    SearchProvider

    The matching provider

    Refresh()

    Clears everything and reloads all search providers.

    Declaration
    public static void Refresh()
    Remarks

    Use with care. Useful for unit tests.

    RefreshWindows()

    Refreshes all open windows.

    Declaration
    public static void RefreshWindows()

    Request(String, Action<SearchContext, IEnumerable<SearchItem>>, Action<SearchContext>, SearchFlags)

    Execute a search request and callback for every incoming items and when the search is completed. This will create a new search context that will be Disposed when the request is finished.

    Declaration
    public static void Request(string searchText, Action<SearchContext, IEnumerable<SearchItem>> onIncomingItems, Action<SearchContext> onSearchCompleted, SearchFlags options = SearchFlags.None)
    Parameters
    Type Name Description
    String searchText
    Action<SearchContext, IEnumerable<SearchItem>> onIncomingItems
    Action<SearchContext> onSearchCompleted
    SearchFlags options

    Request(String, Action<SearchContext, IList<SearchItem>>, SearchFlags)

    Execute a search request and callback when the search is completed. This will create a new search context that will be Disposed when the request is finished.

    Declaration
    public static void Request(string searchText, Action<SearchContext, IList<SearchItem>> onSearchCompleted, SearchFlags options = SearchFlags.None)
    Parameters
    Type Name Description
    String searchText
    Action<SearchContext, IList<SearchItem>> onSearchCompleted
    SearchFlags options

    Request(String, SearchFlags)

    Run a query on all active providers.

    Declaration
    public static ISearchList Request(string searchText, SearchFlags options = SearchFlags.None)
    Parameters
    Type Name Description
    String searchText

    Search query to execute.

    SearchFlags options
    Returns
    Type Description
    ISearchList

    Request(SearchContext, Action<SearchContext, IEnumerable<SearchItem>>, Action<SearchContext>, SearchFlags)

    Declaration
    public static void Request(SearchContext context, Action<SearchContext, IEnumerable<SearchItem>> onIncomingItems, Action<SearchContext> onSearchCompleted, SearchFlags options = SearchFlags.None)
    Parameters
    Type Name Description
    SearchContext context
    Action<SearchContext, IEnumerable<SearchItem>> onIncomingItems
    Action<SearchContext> onSearchCompleted
    SearchFlags options

    Request(SearchContext, Action<SearchContext, IList<SearchItem>>, SearchFlags)

    Execute a search request and callback when the search is completed. The user is responsible for disposing of the search context.

    Declaration
    public static void Request(SearchContext context, Action<SearchContext, IList<SearchItem>> onSearchCompleted, SearchFlags options = SearchFlags.None)
    Parameters
    Type Name Description
    SearchContext context
    Action<SearchContext, IList<SearchItem>> onSearchCompleted
    SearchFlags options

    Request(SearchContext, SearchFlags)

    Execute a search request that will fetch search results asynchronously.

    Declaration
    public static ISearchList Request(SearchContext context, SearchFlags options = SearchFlags.None)
    Parameters
    Type Name Description
    SearchContext context

    Search context used to track asynchronous request.

    SearchFlags options

    Options defining how the query will be performed

    Returns
    Type Description
    ISearchList

    Asynchronous list of search items.

    SetActive(String, Boolean)

    Activate or deactivate a search provider. Call Refresh after this to take effect on the next search.

    Declaration
    public static void SetActive(string providerId, bool active = true)
    Parameters
    Type Name Description
    String providerId

    Provider id to activate or deactivate

    Boolean active

    Activation state

    ShowContextual(String[])

    Open QuickSearch in contextual mode enabling only the providers specified.

    Declaration
    public static ISearchView ShowContextual(params string[] providerIds)
    Parameters
    Type Name Description
    String[] providerIds

    List of provider ids to enabled for QuickSearch

    Returns
    Type Description
    ISearchView

    Returns the QuickSearch window.

    ShowObjectPicker(Action<Object, Boolean>, Action<Object>, String, String, Type, Single, Single, SearchFlags)

    Use Quick Search to as an object picker to select any object based on the specified filter type.

    Declaration
    public static ISearchView ShowObjectPicker(Action<Object, bool> selectHandler, Action<Object> trackingHandler, string searchText, string typeName, Type filterType, float defaultWidth = 850F, float defaultHeight = 539F, SearchFlags flags = SearchFlags.WantsMore | SearchFlags.FocusContext | SearchFlags.HidePanels | SearchFlags.OpenPicker)
    Parameters
    Type Name Description
    Action<Object, Boolean> selectHandler

    Callback to trigger when a user selects an item.

    Action<Object> trackingHandler

    Callback to trigger when the user is modifying QuickSearch selection (i.e. tracking the currently selected item)

    String searchText

    Initial search text for QuickSearch.

    String typeName

    Type name of the object to select. Can be used to replace filterType.

    Type filterType

    Type of the object to select.

    Single defaultWidth

    Initial width of the window.

    Single defaultHeight

    Initial height of the window.

    SearchFlags flags

    Options flags modifying how the Search window will be opened.

    Returns
    Type Description
    ISearchView

    Returns the QuickSearch window.

    ShowPicker(SearchContext, Action<SearchItem, Boolean>, Action<SearchItem>, Func<SearchItem, Boolean>, IEnumerable<SearchItem>, String, Single, Single, Single, SearchFlags)

    Declaration
    public static ISearchView ShowPicker(SearchContext context, Action<SearchItem, bool> selectHandler, Action<SearchItem> trackingHandler = null, Func<SearchItem, bool> filterHandler = null, IEnumerable<SearchItem> subset = null, string title = null, float itemSize = 64F, float defaultWidth = 850F, float defaultHeight = 539F, SearchFlags flags = SearchFlags.WantsMore | SearchFlags.FocusContext | SearchFlags.HidePanels | SearchFlags.OpenPicker)
    Parameters
    Type Name Description
    SearchContext context
    Action<SearchItem, Boolean> selectHandler
    Action<SearchItem> trackingHandler
    Func<SearchItem, Boolean> filterHandler
    IEnumerable<SearchItem> subset
    String title
    Single itemSize
    Single defaultWidth
    Single defaultHeight
    SearchFlags flags
    Returns
    Type Description
    ISearchView

    ShowWindow(SearchContext, String, Single, Single, Boolean, Boolean, Boolean, Boolean)

    Creates and open a new instance of Quick Search

    Declaration
    public static ISearchView ShowWindow(SearchContext context = null, string topic = "Unity", float defaultWidth = 850F, float defaultHeight = 539F, bool saveFilters = true, bool reuseExisting = false, bool multiselect = true, bool dockable = true)
    Parameters
    Type Name Description
    SearchContext context

    Initial search context of QuickSearch

    String topic

    QuickSearch search topic

    Single defaultWidth

    Initial width of the window.

    Single defaultHeight

    Initial height of the window.

    Boolean saveFilters

    True if user provider filters should be saved for next search session

    Boolean reuseExisting

    If true, try to reuse an already existing instance of QuickSearch. If false will create a new QuickSearch window.

    Boolean multiselect

    True if the search support multi-selection or not.

    Boolean dockable

    If true, creates a dockable QuickSearch Window (that will be closed when an item is activated). If false, it will create a DropDown (borderless, undockable and unmovable) version of QuickSearch.

    Returns
    Type Description
    ISearchView

    Returns the Quick Search editor window instance.

    Back to top
    Copyright © 2023 Unity Technologies — Terms of use
    • Legal
    • Privacy Policy
    • Cookies
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)
    "Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
    Generated by DocFX on 18 October 2023