# IndexProperty

> Adds a property value to the index. A property is specified with a key and a string value. The value will be stored with multiple variations.

## Definition

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

## IndexProperty(int, string, string, bool, bool)

Adds a property value to the index. A property is specified with a key and a string value. The value will be stored with multiple variations.

```csharp
public void IndexProperty(int documentIndex, string name, string value, bool saveKeyword, bool exact = false)
```

### Parameters

**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): Document where the indexed word was found.**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): Key used to retrieve the value.**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): Value to add to the index.**** (\[bool]\(https\://learn.microsoft.com/dotnet/api/system.boolean)): Define if we store this key in the keyword registry of the index.**** (\[bool]\(https\://learn.microsoft.com/dotnet/api/system.boolean)): If exact is true, only the exact match of the value will be stored in the index (not the variations).

### Remarks

The following example indexes a new boolean property named `testismobilefriendly` that will be used to search textures that match `testismobilefriendly=true` or `testismobilefriendly=false`.

```csharp
[CustomObjectIndexer(typeof(Texture2D))]
static void IndexMobileFriendlyTexture(CustomObjectIndexerTarget target, ObjectIndexer indexer)
{
    var texture = target.target as Texture2D;
    if (texture == null)
        return;

    bool isMobileFriendly = texture.width < 64 && texture.height < 64;
    indexer.IndexProperty(target.documentIndex, "testismobilefriendly", isMobileFriendly.ToString(), true);
}

[CustomObjectIndexer(typeof(Texture2D))]
static void CrashingIndexer(CustomObjectIndexerTarget target, ObjectIndexer indexer)
{
    if (enableCrashingIndexer)
        throw new System.Exception("Crash");
}
```

See [SearchIndexer.AddProperty](/engine/6000.0/script-reference/unityeditor/search/searchindexer/addproperty.md) for more information and examples about indexing properties.

## IndexProperty\<T, U>(int, string, string, bool, bool)

Adds a property value to the index. A property is specified with a key and a string value. The value will be stored with multiple variations.

```csharp
public void IndexProperty<TProperty, TPropertyOwner>(int documentIndex, string name, string value, bool saveKeyword, bool exact)
```

### Parameters

**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): Document where the indexed word was found.**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): Key used to retrieve the value.**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): Value to add to the index.**** (\[bool]\(https\://learn.microsoft.com/dotnet/api/system.boolean)): Define if we store this key in the keyword registry of the index.**** (\[bool]\(https\://learn.microsoft.com/dotnet/api/system.boolean)): If exact is true, only the exact match of the value will be stored in the index (not the variations).

### Remarks

The following example indexes a new boolean property named `testismobilefriendly` that will be used to search textures that match `testismobilefriendly=true` or `testismobilefriendly=false`.

```csharp
[CustomObjectIndexer(typeof(Texture2D))]
static void IndexMobileFriendlyTexture(CustomObjectIndexerTarget target, ObjectIndexer indexer)
{
    var texture = target.target as Texture2D;
    if (texture == null)
        return;

    bool isMobileFriendly = texture.width < 64 && texture.height < 64;
    indexer.IndexProperty(target.documentIndex, "testismobilefriendly", isMobileFriendly.ToString(), true);
}

[CustomObjectIndexer(typeof(Texture2D))]
static void CrashingIndexer(CustomObjectIndexerTarget target, ObjectIndexer indexer)
{
    if (enableCrashingIndexer)
        throw new System.Exception("Crash");
}
```

See [SearchIndexer.AddProperty](/engine/6000.0/script-reference/unityeditor/search/searchindexer/addproperty.md) for more information and examples about indexing properties.
