# BuildHumanAvatar(GameObject, HumanDescription)

> Create a humanoid avatar.

## Definition

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

```csharp
public static Avatar BuildHumanAvatar(GameObject go, HumanDescription humanDescription)
```

### Parameters

**** (\[GameObject]\(/engine/6000.0/script-reference/unityengine/gameobject)): Root object of your transform hierachy. It must be the top most gameobject when you create the avatar.**** (\[HumanDescription]\(/engine/6000.0/script-reference/unityengine/humandescription)): Humanoid description of the avatar.

### Returns

| Type                                                            | Description                                                                                                                                                                |
| --------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Avatar](/engine/6000.0/script-reference/unityengine/avatar.md) | Returns the Avatar, you must always always check the avatar is valid before using it with [Avatar.isValid](/engine/6000.0/script-reference/unityengine/avatar/isvalid.md). |

### Remarks

The avatar is created using the supplied HumanDescription object which specifies the muscle space range limits and retargeting parameters like arm/leg twist and arm/leg stretch. Additional Resources: [HumanDescription](/engine/6000.0/script-reference/unityengine/humandescription.md).
