# PropertyBag

> The PropertyBag class provides access to registered property bag instances.

## Definition

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

```csharp
public static class PropertyBag
```

## Static Methods

| Method                                                                                                                       | Description                                                                                                                                                   |
| ---------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [AcceptWithSpecializedVisitor](/engine/6000.7/script-reference/unity/properties/propertybag/acceptwithspecializedvisitor.md) | Accepts visitation for the given property bag and tries to invoke the most specialized visitor first.                                                         |
| [Exists](/engine/6000.7/script-reference/unity/properties/propertybag/exists.md)                                             | Returns true if a property bag exists for the given type.                                                                                                     |
| [GetAllTypesWithAPropertyBag](/engine/6000.7/script-reference/unity/properties/propertybag/getalltypeswithapropertybag.md)   | Returns all the Type that have a registered property bag.                                                                                                     |
| [GetPropertyBag](/engine/6000.7/script-reference/unity/properties/propertybag/getpropertybag.md)                             | Gets an interface to the [PropertyBag\<TContainer>](/engine/6000.7/script-reference/unity/properties/propertybag1.md) for the given type.                     |
| [Register](/engine/6000.7/script-reference/unity/properties/propertybag/register.md)                                         | Registers a strongly typed [PropertyBag\<TContainer>](/engine/6000.7/script-reference/unity/properties/propertybag1.md) for a type.                           |
| [RegisterArray](/engine/6000.7/script-reference/unity/properties/propertybag/registerarray.md)                               | Creates and registers a [IPropertyBag\<TContainer>](/engine/6000.7/script-reference/unity/properties/ipropertybag1.md) for a built in array type.             |
| [RegisterDictionary](/engine/6000.7/script-reference/unity/properties/propertybag/registerdictionary.md)                     | Creates and registers a [IPropertyBag\<TContainer>](/engine/6000.7/script-reference/unity/properties/ipropertybag1.md) for a Dictionary\_2 type.              |
| [RegisterHashSet](/engine/6000.7/script-reference/unity/properties/propertybag/registerhashset.md)                           | Creates and registers a [IPropertyBag\<TContainer>](/engine/6000.7/script-reference/unity/properties/ipropertybag1.md) for a HashSet\_1 type.                 |
| [RegisterIDictionary](/engine/6000.7/script-reference/unity/properties/propertybag/registeridictionary.md)                   | Creates and registers a [IPropertyBag\<TContainer>](/engine/6000.7/script-reference/unity/properties/ipropertybag1.md) for the specified IDictionary\_2 type. |
| [RegisterIList](/engine/6000.7/script-reference/unity/properties/propertybag/registerilist.md)                               | Creates and registers a [IPropertyBag\<TContainer>](/engine/6000.7/script-reference/unity/properties/ipropertybag1.md) for the specified IList\_1 type.       |
| [RegisterISet](/engine/6000.7/script-reference/unity/properties/propertybag/registeriset.md)                                 | Creates and registers a [IPropertyBag\<TContainer>](/engine/6000.7/script-reference/unity/properties/ipropertybag1.md) for the specified ISet\_1 type.        |
| [RegisterList](/engine/6000.7/script-reference/unity/properties/propertybag/registerlist.md)                                 | Creates and registers a [IPropertyBag\<TContainer>](/engine/6000.7/script-reference/unity/properties/ipropertybag1.md) for a List\_1 type.                    |
| [TryGetPropertyBagForValue](/engine/6000.7/script-reference/unity/properties/propertybag/trygetpropertybagforvalue.md)       | Gets a property bag for the concrete type of the given value.                                                                                                 |
