# Store

> Stores a document property.

## Definition

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

## Store(string, string, Object)

Stores a document property.

```csharp
bool Store(string documentId, string propertyPath, object value)
```

### Parameters

**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): A document identifier.**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): A property path or name.**** (\[Object]\(https\://learn.microsoft.com/dotnet/api/system.object)): The value of the property.

### Returns

| Type                                                          | Description                                          |
| ------------------------------------------------------------- | ---------------------------------------------------- |
| [bool](https://learn.microsoft.com/dotnet/api/system.boolean) | True if the store operation succeeded, false if not. |

### Examples

```csharp
// Store a property of a document, like a property of an asset.
using (var view = propertyDatabase.GetView())
{
    var stored = view.Store("path/to/my/asset", "m_Color", new Color(1, 0, 1));
    if (!stored)
        Debug.LogWarning("Property m_Color did not store.");
}
```

## Store(ulong, Hash128, Object)

Stores a document property with a precomputed document key and property hash.

```csharp
bool Store(ulong documentKey, Hash128 propertyHash, object value)
```

### Parameters

**** (\[ulong]\(https\://learn.microsoft.com/dotnet/api/system.uint64)): A document key.**** (Hash128): A property hash.**** (\[Object]\(https\://learn.microsoft.com/dotnet/api/system.object)): The value of the property.

### Returns

| Type                                                          | Description                                          |
| ------------------------------------------------------------- | ---------------------------------------------------- |
| [bool](https://learn.microsoft.com/dotnet/api/system.boolean) | True if the store operation succeeded, false if not. |

### Remarks

```csharp
// Store a property of a document, with the document id and property hash already computed.
using (var view = propertyDatabase.GetView())
{
    var documentId = view.CreateDocumentKey("path/to/my/asset");
    var propertyHash = view.CreatePropertyHash("m_Size");
    var stored = view.Store(documentId, propertyHash, 42);
    if (!stored)
        Debug.LogWarning("Property m_Size did not store.");
}
```

Additional Resources: [IPropertyDatabaseView.CreateDocumentKey](/engine/6000.7/script-reference/unityeditor/search/ipropertydatabaseview/createdocumentkey.md) and [IPropertyDatabaseView.CreatePropertyHash](/engine/6000.7/script-reference/unityeditor/search/ipropertydatabaseview/createpropertyhash.md).

## Store(Hash128, Object)

Stores a property with a precomputed property hash.

```csharp
bool Store(Hash128 propertyHash, object value)
```

### Parameters

**** (Hash128): A property hash.**** (\[Object]\(https\://learn.microsoft.com/dotnet/api/system.object)): The value of the property.

### Returns

| Type                                                          | Description                                          |
| ------------------------------------------------------------- | ---------------------------------------------------- |
| [bool](https://learn.microsoft.com/dotnet/api/system.boolean) | True if the store operation succeeded, false if not. |

### Remarks

The document identifier is considered null and the document key will be 0.

```csharp
// Store a property without any document.
using (var view = propertyDatabase.GetView())
{
    var stored = view.Store(view.CreatePropertyHash("documentPrefix"), "myDocs_");
    if (!stored)
        Debug.LogWarning("Property documentPrefix did not store.");
}
```

Additional Resources: [IPropertyDatabaseView.CreatePropertyHash](/engine/6000.7/script-reference/unityeditor/search/ipropertydatabaseview/createpropertyhash.md).
