# RegisterIDictionary

> Creates and registers a IPropertyBag<TContainer> for the specified IDictionary_2 type.

## Definition

* **Type:** Method
* **Namespace:** [Unity.Properties](/engine/6000.0/script-reference/unity/properties.md)
* **Assembly:** UnityEngine.PropertiesModule

## RegisterIDictionary\<T, U, V>()

Creates and registers a [IPropertyBag\<TContainer>](/engine/6000.0/script-reference/unity/properties/ipropertybag1.md) for the specified IDictionary\_2 type.

```csharp
public static void RegisterIDictionary<TDictionary, TKey, TValue>() where TDictionary : IDictionary<TKey, TValue>
```

### Remarks

To generate AOT paths for visitors use RegisterIDictionary\{TContainer, TDictionary, TKey, TValue} instead.

## RegisterIDictionary\<T, U, V, W>()

Creates and registers a [IPropertyBag\<TContainer>](/engine/6000.0/script-reference/unity/properties/ipropertybag1.md) for the specified IDictionary\_2 type.

```csharp
public static void RegisterIDictionary<TContainer, TDictionary, TKey, TValue>() where TDictionary : IDictionary<TKey, TValue>
```

### Remarks

The container is required to provide AOT code paths for [PropertyVisitor](/engine/6000.0/script-reference/unity/properties/propertyvisitor.md).
