# 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
public 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.
var stored = propertyDatabase.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
public 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.
var documentId = PropertyDatabase.CreateDocumentKey("path/to/my/asset");
var propertyHash = PropertyDatabase.CreatePropertyHash("m_Size");
stored = propertyDatabase.Store(documentId, propertyHash, 42);
if (!stored)
    Debug.LogWarning("Property m_Size did not store.");
```

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

## Store(Hash128, Object)

Stores a property with a precomputed property hash.

```csharp
public 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.
stored = propertyDatabase.Store(PropertyDatabase.CreatePropertyHash("documentPrefix"), "myDocs_");
if (!stored)
    Debug.LogWarning("Property documentPrefix did not store.");
```

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

## Store(PropertyDatabaseRecordKey, Object)

Stores a document property with a precomputed record key.

```csharp
public bool Store(in PropertyDatabaseRecordKey recordKey, object value)
```

### Parameters

**** (\[PropertyDatabaseRecordKey]\(/engine/6000.7/script-reference/unityeditor/search/propertydatabaserecordkey)): A record key.**** (\[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 with an already computed record key.
var recordKey = PropertyDatabase.CreateRecordKey("path/to/my/asset", "prop1");
stored = propertyDatabase.Store(recordKey, 123);
if (!stored)
    Debug.LogWarning("Property prop1 did not store.");
```

Additional Resources: [PropertyDatabase.CreateRecordKey](/engine/6000.7/script-reference/unityeditor/search/propertydatabase/createrecordkey.md).
