# InstantiationKind

> Describes how a new instance is created.

## Definition

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

```csharp
public enum InstantiationKind
```

## Fields

| Value                                                                                                            | Description                                                                                                                                               |
| ---------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Activator](/engine/6000.5/script-reference/unity/properties/instantiationkind/activator.md)                     | The type instantiation will be done using [InstantiationKind.Activator](/engine/6000.5/script-reference/unity/properties/instantiationkind/activator.md). |
| [NotInstantiatable](/engine/6000.5/script-reference/unity/properties/instantiationkind/notinstantiatable.md)     | Not type instantiation should be performed for this type.                                                                                                 |
| [PropertyBagOverride](/engine/6000.5/script-reference/unity/properties/instantiationkind/propertybagoverride.md) | The type instantiation will be done via a method override in [PropertyBag\<TContainer>](/engine/6000.5/script-reference/unity/properties/propertybag1.md) |
