# BindProperties

> Retrieves the list of BoundProperty defined by the list of GenericBinding.

## Definition

* **Type:** Method
* **Namespace:** [UnityEngine.Animations](/engine/6000.7/script-reference/unityengine/animations.md)
* **Assembly:** UnityEngine.AnimationModule

## BindProperties(GameObject, NativeArray\<GenericBinding>, NativeArray\<BoundProperty>, NativeArray\<BoundProperty>, Allocator)

Retrieves the list of [BoundProperty](/engine/6000.7/script-reference/unityengine/animations/boundproperty.md) defined by the list of [GenericBinding](/engine/6000.7/script-reference/unityengine/animations/genericbinding.md).

> **Warning:**
>
> **Removed.** This version of BindProperties is deprecated. Use the overload which includes `out instanceIDProperties` instead.

```csharp
public static void BindProperties(GameObject rootGameObject, NativeArray<GenericBinding> genericBindings, out NativeArray<BoundProperty> floatProperties, out NativeArray<BoundProperty> discreteProperties, Allocator allocator)
```

### Parameters

**** (\[GameObject]\(/engine/6000.7/script-reference/unityengine/gameobject)): The root GameObject.**** (\[NativeArray\<GenericBinding>]\(/engine/6000.7/script-reference/unity/collections/nativearray1)): The list of [GenericBinding](/engine/6000.7/script-reference/unityengine/animations/genericbinding.md) to bind. See [GenericBindingUtility.GetAnimatableBindings](/engine/6000.7/script-reference/unityengine/animations/genericbindingutility/getanimatablebindings.md), [GenericBindingUtility.GetCurveBindings](/engine/6000.7/script-reference/unityengine/animations/genericbindingutility/getcurvebindings.md).**** (\[NativeArray\<BoundProperty>]\(/engine/6000.7/script-reference/unity/collections/nativearray1)): Returns the list of float bound properties for all valid generic binding. If there is an invalid binding, this param returns [BoundProperty.Null](/engine/6000.7/script-reference/unityengine/animations/boundproperty/null.md).**** (\[NativeArray\<BoundProperty>]\(/engine/6000.7/script-reference/unity/collections/nativearray1)): Returns the list of discrete bound properties for all valid generic bindings. If there is an invalid binding, this param returns [BoundProperty.Null](/engine/6000.7/script-reference/unityengine/animations/boundproperty/null.md)**** (\[Allocator]\(/engine/6000.7/script-reference/unity/collections/allocator)): Allocator for allocating NativeArray memory.

### Remarks

BoundProperty allocates resources that must be unallocated. See [GenericBindingUtility.UnbindProperties](/engine/6000.7/script-reference/unityengine/animations/genericbindingutility/unbindproperties.md).

This method throws an ArgumentException if the genericBindings NativeArray is not created.

## BindProperties(GameObject, NativeArray\<GenericBinding>, NativeArray\<BoundProperty>, NativeArray\<BoundProperty>, NativeArray\<BoundProperty>, Allocator)

Retrieves the list of [BoundProperty](/engine/6000.7/script-reference/unityengine/animations/boundproperty.md) defined by the list of [GenericBinding](/engine/6000.7/script-reference/unityengine/animations/genericbinding.md).

```csharp
public static void BindProperties(GameObject rootGameObject, NativeArray<GenericBinding> genericBindings, out NativeArray<BoundProperty> floatProperties, out NativeArray<BoundProperty> discreteProperties, out NativeArray<BoundProperty> instanceIDProperties, Allocator allocator)
```

### Parameters

**** (\[GameObject]\(/engine/6000.7/script-reference/unityengine/gameobject)): The root GameObject.**** (\[NativeArray\<GenericBinding>]\(/engine/6000.7/script-reference/unity/collections/nativearray1)): The list of [GenericBinding](/engine/6000.7/script-reference/unityengine/animations/genericbinding.md) to bind. See [GenericBindingUtility.GetAnimatableBindings](/engine/6000.7/script-reference/unityengine/animations/genericbindingutility/getanimatablebindings.md), [GenericBindingUtility.GetCurveBindings](/engine/6000.7/script-reference/unityengine/animations/genericbindingutility/getcurvebindings.md).**** (\[NativeArray\<BoundProperty>]\(/engine/6000.7/script-reference/unity/collections/nativearray1)): Returns the list of float bound properties for all valid generic binding. If there is an invalid binding, this param returns [BoundProperty.Null](/engine/6000.7/script-reference/unityengine/animations/boundproperty/null.md).**** (\[NativeArray\<BoundProperty>]\(/engine/6000.7/script-reference/unity/collections/nativearray1)): Returns the list of discrete bound properties for all valid generic bindings. If there is an invalid binding, this param returns [BoundProperty.Null](/engine/6000.7/script-reference/unityengine/animations/boundproperty/null.md)**** (\[NativeArray\<BoundProperty>]\(/engine/6000.7/script-reference/unity/collections/nativearray1)): **** (\[Allocator]\(/engine/6000.7/script-reference/unity/collections/allocator)): Allocator for allocating NativeArray memory.

### Remarks

BoundProperty allocates resources that must be unallocated. See [GenericBindingUtility.UnbindProperties](/engine/6000.7/script-reference/unityengine/animations/genericbindingutility/unbindproperties.md).

This method throws an ArgumentException if the genericBindings NativeArray is not created.
