# PropertyContainer

> The PropertyContainer class is used as the entry point to operate on data containers using properties.

## Definition

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

```csharp
public static class PropertyContainer
```

## Static Methods

| Method                                                                                                 | Description                                                                                                                                                                                                   |
| ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Accept](/engine/6000.7/script-reference/unity/properties/propertycontainer/accept.md)                 | Visit the specified `container` using the specified `visitor`.                                                                                                                                                |
| [GetProperty](/engine/6000.7/script-reference/unity/properties/propertycontainer/getproperty.md)       | Gets an [IProperty](/engine/6000.7/script-reference/unity/properties/iproperty.md) on the specified container for the given [PropertyPath](/engine/6000.7/script-reference/unity/properties/propertypath.md). |
| [GetValue](/engine/6000.7/script-reference/unity/properties/propertycontainer/getvalue.md)             | Gets the value of a property by name.                                                                                                                                                                         |
| [IsPathValid](/engine/6000.7/script-reference/unity/properties/propertycontainer/ispathvalid.md)       | Returns `true` if a property exists at the specified [PropertyPath](/engine/6000.7/script-reference/unity/properties/propertypath.md).                                                                        |
| [SetValue](/engine/6000.7/script-reference/unity/properties/propertycontainer/setvalue.md)             | Sets the value of a property by name to the given value.                                                                                                                                                      |
| [TryAccept](/engine/6000.7/script-reference/unity/properties/propertycontainer/tryaccept.md)           | Tries to visit the specified `container` by ref using the specified `visitor`.                                                                                                                                |
| [TryGetProperty](/engine/6000.7/script-reference/unity/properties/propertycontainer/trygetproperty.md) | Gets an [IProperty](/engine/6000.7/script-reference/unity/properties/iproperty.md) on the specified container for the given [PropertyPath](/engine/6000.7/script-reference/unity/properties/propertypath.md). |
| [TryGetValue](/engine/6000.7/script-reference/unity/properties/propertycontainer/trygetvalue.md)       | Gets the value of a property by name.                                                                                                                                                                         |
| [TrySetValue](/engine/6000.7/script-reference/unity/properties/propertycontainer/trysetvalue.md)       | Tries to set the value of a property at the given path to the given value.                                                                                                                                    |
