Version: 2023.2
LanguageEnglish
  • C#

SearchItem

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

Search items are returned by the search provider to show to the user after a search is performed. The search item holds all the data that is used to sort and present the search results. Some members of a SearchItem can be specified in an asynchronous callback (see SearchItem.fetchThumbnail, SearchItem.fetchDescription, etc).

SearchItems are generally created using the SearchProvider.CreateItem function. This example shows how to create a SearchItem with all the members.

[SearchItemProvider]
internal static SearchProvider CreateProvider()
{
    return new SearchProvider(id, name)
    {
        filterId = "hex:",
        priority = 99999, // put example provider at a low priority
        showDetailsOptions = ShowDetailsOptions.Description | ShowDetailsOptions.Preview,
        fetchItems = (context, items, provider) =>
        {
            var expression = context.searchQuery;
            if (expression.Length == 6 && IsHex(expression))
            {
                expression = "#" + expression;
                items.Add(provider.CreateItem(context, expression, GetColorName(expression),
                    "Look at this " + GetColorName(expression) + " color!",
                    CreateTextureFromColor(expression, 64, 64), null));
            }
            return null;
        },
        fetchPreview = (item, context, size, options) =>
        {
            return CreateTextureFromColor(item.id, (int)size.x, (int)size.y);
        },
    };
}

Static Properties

clearA search item representing none, usually used to clear the selection.

Properties

contextContext used to create that item.
dataSearch provider defined content. It can be used to transport any data to custom search provider handlers (i.e. `fetchDescription`).
descriptionIf no description is provided, SearchProvider.fetchDescription will be called when the item is first displayed.
idUnique ID of the search item for the search provider.
labelDisplay name of the search item.
optionsFlags that dictate how the search item is displayed and used.
previewLarge preview of the search item. Usually cached by fetchPreview.
providerBack pointer to the search provider.
scoreThe item relevance score will affect how the item gets sorted by the search provider. Lower scored items have more relevance and are prioritzed.
this[string]Operator used to get an item field value.
thumbnailIf no thumbnail is provided, SearchProvider.fetchThumbnail is called when the item is first displayed.
valueValue set by the search expression system when selecting fields.

Constructors

SearchItemConstruct a search item. A search item needs to have at least a unique ID for a given search query.

Public Methods

CompareToCheck if two SearchItems have the same ID.
EqualsCheck if two SearchItems have the same ID.
GetDescriptionFetch and format description.
GetFieldCountReturns the amount of field stored in the search item.
GetFieldNamesReturns a list of all field names.
GetFieldsEnumerate all search items fields.
GetHashCodeDefault Hash of a SearchItem.
GetLabelFetch and format label.
GetPreviewGets the search item preview if available, otherwise the preview is fetched at this time.
GetThumbnailGets the search item thumbnail if available, otherwise the thumbnail is fetched at this time. The thumbnail is usually used in list view compared to the grid view.
GetValueGet the default search item value of a given field.
RemoveFieldRemoves an item field.
SetFieldSets a field value and alias.
ToObjectReturns any valid Unity Object held by the search item.
TryGetFieldReturns an item field if available.
TryGetValueReturns' a field's value if any. Compared to SearchItem.TryGetField this method also resolved built-in field such as id, label, description, value, etc.