# SearchProvider

> Create a new SearchProvider.

## Definition

* **Type:** Constructor
* **Namespace:** [UnityEditor.Search](/engine/6000.5/script-reference/unityeditor/search.md)
* **Assembly:** UnityEditor

## SearchProvider(string)

Create a new SearchProvider.

```csharp
public SearchProvider(string id)
```

### Parameters

**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): Search Provider unique ID.

### Remarks

For different use cases see [SearchProvider](/engine/6000.5/script-reference/unityeditor/search/searchprovider.md), [SearchProvider.id](/engine/6000.5/script-reference/unityeditor/search/searchprovider/id.md), [SearchProvider.isExplicitProvider](/engine/6000.5/script-reference/unityeditor/search/searchprovider/isexplicitprovider.md), [SearchProvider.priority](/engine/6000.5/script-reference/unityeditor/search/searchprovider/priority.md).

## SearchProvider(string, string)

Create a new SearchProvider.

```csharp
public SearchProvider(string id, string displayName)
```

### Parameters

**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): Search Provider unique ID.**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): Search Provider pretty name, used to display in UI.

### Remarks

For different use cases see [SearchProvider](/engine/6000.5/script-reference/unityeditor/search/searchprovider.md), [SearchProvider.id](/engine/6000.5/script-reference/unityeditor/search/searchprovider/id.md), [SearchProvider.isExplicitProvider](/engine/6000.5/script-reference/unityeditor/search/searchprovider/isexplicitprovider.md), [SearchProvider.priority](/engine/6000.5/script-reference/unityeditor/search/searchprovider/priority.md).

## SearchProvider(string, Func\<SearchContext, List\<SearchItem>, SearchProvider, Object>)

Create a new SearchProvider.

```csharp
public SearchProvider(string id, Func<SearchContext, List<SearchItem>, SearchProvider, object> fetchItemsHandler)
```

### Parameters

**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): Search Provider unique ID.**** (\[Func\<SearchContext, List\<SearchItem>, SearchProvider, Object>]\(https\://learn.microsoft.com/dotnet/api/system.func-1)): Handler responsible for populating a list of SearchItems according to a query.

### Remarks

For different use cases see [SearchProvider](/engine/6000.5/script-reference/unityeditor/search/searchprovider.md), [SearchProvider.id](/engine/6000.5/script-reference/unityeditor/search/searchprovider/id.md), [SearchProvider.isExplicitProvider](/engine/6000.5/script-reference/unityeditor/search/searchprovider/isexplicitprovider.md), [SearchProvider.priority](/engine/6000.5/script-reference/unityeditor/search/searchprovider/priority.md).

## SearchProvider(string, Func\<SearchContext, SearchProvider, Object>)

Create a new SearchProvider.

```csharp
public SearchProvider(string id, Func<SearchContext, SearchProvider, object> fetchItemsHandler)
```

### Parameters

**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): Search Provider unique ID.**** (\[Func\<SearchContext, SearchProvider, Object>]\(https\://learn.microsoft.com/dotnet/api/system.func-1)): Handler responsible for populating a list of SearchItems according to a query.

### Remarks

For different use cases see [SearchProvider](/engine/6000.5/script-reference/unityeditor/search/searchprovider.md), [SearchProvider.id](/engine/6000.5/script-reference/unityeditor/search/searchprovider/id.md), [SearchProvider.isExplicitProvider](/engine/6000.5/script-reference/unityeditor/search/searchprovider/isexplicitprovider.md), [SearchProvider.priority](/engine/6000.5/script-reference/unityeditor/search/searchprovider/priority.md).

## SearchProvider(string, string, Func\<SearchContext, SearchProvider, Object>)

Create a new SearchProvider.

```csharp
public SearchProvider(string id, string displayName, Func<SearchContext, SearchProvider, object> fetchItemsHandler)
```

### Parameters

**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): Search Provider unique ID.**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): Search Provider pretty name, used to display in UI.**** (\[Func\<SearchContext, SearchProvider, Object>]\(https\://learn.microsoft.com/dotnet/api/system.func-1)): Handler responsible for populating a list of SearchItems according to a query.

### Remarks

For different use cases see [SearchProvider](/engine/6000.5/script-reference/unityeditor/search/searchprovider.md), [SearchProvider.id](/engine/6000.5/script-reference/unityeditor/search/searchprovider/id.md), [SearchProvider.isExplicitProvider](/engine/6000.5/script-reference/unityeditor/search/searchprovider/isexplicitprovider.md), [SearchProvider.priority](/engine/6000.5/script-reference/unityeditor/search/searchprovider/priority.md).

## SearchProvider(string, string, Func\<SearchContext, List\<SearchItem>, SearchProvider, Object>)

Create a new SearchProvider.

```csharp
public SearchProvider(string id, string displayName, Func<SearchContext, List<SearchItem>, SearchProvider, object> fetchItemsHandler)
```

### Parameters

**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): Search Provider unique ID.**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): Search Provider pretty name, used to display in UI.**** (\[Func\<SearchContext, List\<SearchItem>, SearchProvider, Object>]\(https\://learn.microsoft.com/dotnet/api/system.func-1)): Handler responsible for populating a list of SearchItems according to a query.

### Remarks

For different use cases see [SearchProvider](/engine/6000.5/script-reference/unityeditor/search/searchprovider.md), [SearchProvider.id](/engine/6000.5/script-reference/unityeditor/search/searchprovider/id.md), [SearchProvider.isExplicitProvider](/engine/6000.5/script-reference/unityeditor/search/searchprovider/isexplicitprovider.md), [SearchProvider.priority](/engine/6000.5/script-reference/unityeditor/search/searchprovider/priority.md).
