# AdvancedObjectSelectorAttribute

> Registers a method to act as an advanced object selector.

## Definition

* **Type:** Constructor
* **Namespace:** [UnityEditor.SearchService](/engine/6000.6/script-reference/unityeditor/searchservice.md)
* **Assembly:** UnityEditor.CoreModule

## AdvancedObjectSelectorAttribute(string, string, int, bool)

Registers a method to act as an advanced object selector.

```csharp
public AdvancedObjectSelectorAttribute(string id, string displayName, int defaultPriority, bool defaultActive = true)
```

### Parameters

**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): A unique identifier for this advanced object selector.**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): The display name of this advanced object selector, shown in the **Preferences/Search** settings page.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): The default priority of this advanced object selector.**** (\[bool]\(https\://learn.microsoft.com/dotnet/api/system.boolean)): The default active state of this advanced object selector.

### Remarks

A unique identifier is required when registering a custom advanced object selector. If the identifier is not unique, the advanced object selector is not registered and a warning is displayed in the console. The same identifier must be used by the attribute [AdvancedObjectSelectorValidatorAttribute](/engine/6000.6/script-reference/unityeditor/searchservice/advancedobjectselectorvalidatorattribute.md) to properly register an advanced object selector. The priority and active state of the advanced object selector can be overriden by users in the **Preferences/Search** settings page.

## AdvancedObjectSelectorAttribute(string, int, bool)

Registers a method to act as an advanced object selector.

```csharp
public AdvancedObjectSelectorAttribute(string id, int defaultPriority, bool defaultActive = true)
```

### Parameters

**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): A unique identifier for this advanced object selector.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): The default priority of this advanced object selector.**** (\[bool]\(https\://learn.microsoft.com/dotnet/api/system.boolean)): The default active state of this advanced object selector.

### Remarks

A unique identifier is required when registering a custom advanced object selector. If the identifier is not unique, the advanced object selector is not registered and a warning is displayed in the console. The same identifier must be used by the attribute [AdvancedObjectSelectorValidatorAttribute](/engine/6000.6/script-reference/unityeditor/searchservice/advancedobjectselectorvalidatorattribute.md) to properly register an advanced object selector. The priority and active state of the advanced object selector can be overriden by users in the **Preferences/Search** settings page.
