# HumanBone

> The mapping between a bone in the model and the conceptual bone in the Mecanim human anatomy.

## Definition

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

```csharp
public struct HumanBone
```

## Remarks

The names of the Mecanim human bone and the bone in the model are stored along with the limiting muscle values that constrain the bone's rotation during animation.

```csharp
using UnityEngine;
using System.Collections.Generic;

public class ExampleClass : MonoBehaviour
{
    void Start()
    {
        Dictionary<string, string> boneName = new System.Collections.Generic.Dictionary<string, string>();
        boneName["Chest"] = "Bip001 Spine2";
        boneName["Head"] = "Bip001 Head";
        boneName["Hips"] = "Bip001 Pelvis";
        boneName["LeftFoot"] = "Bip001 L Foot";
        boneName["LeftHand"] = "Bip001 L Hand";
        boneName["LeftLowerArm"] = "Bip001 L Forearm";
        boneName["LeftLowerLeg"] = "Bip001 L Calf";
        boneName["LeftShoulder"] = "Bip001 L Clavicle";
        boneName["LeftUpperArm"] = "Bip001 L UpperArm";
        boneName["LeftUpperLeg"] = "Bip001 L Thigh";
        boneName["RightFoot"] = "Bip001 R Foot";
        boneName["RightHand"] = "Bip001 R Hand";
        boneName["RightLowerArm"] = "Bip001 R Forearm";
        boneName["RightLowerLeg"] = "Bip001 R Calf";
        boneName["RightShoulder"] = "Bip001 R Clavicle";
        boneName["RightUpperArm"] = "Bip001 R UpperArm";
        boneName["RightUpperLeg"] = "Bip001 R Thigh";
        boneName["Spine"] = "Bip001 Spine1";
        string[] humanName = HumanTrait.BoneName;
        HumanBone[] humanBones = new HumanBone[boneName.Count];
        int j = 0;
        int i = 0;
        while (i < humanName.Length)
        {
            if (boneName.ContainsKey(humanName[i]))
            {
                HumanBone humanBone = new HumanBone();
                humanBone.humanName = humanName[i];
                humanBone.boneName = boneName[humanName[i]];
                humanBone.limit.useDefaultValues = true;
                humanBones[j++] = humanBone;
            }
            i++;
        }
    }
}
```

Additional Resources: [HumanDescription](/engine/6000.0/script-reference/unityengine/humandescription.md), [AvatarBuilder](/engine/6000.0/script-reference/unityengine/avatarbuilder.md).

## Fields

| Value                                                                   | Description                                               |
| ----------------------------------------------------------------------- | --------------------------------------------------------- |
| [limit](/engine/6000.0/script-reference/unityengine/humanbone/limit.md) | The rotation limits that define the muscle for this bone. |

## Properties

| Property                                                                        | Description                                                                    |
| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------ |
| [boneName](/engine/6000.0/script-reference/unityengine/humanbone/bonename.md)   | The name of the bone to which the Mecanim human bone is mapped.                |
| [humanName](/engine/6000.0/script-reference/unityengine/humanbone/humanname.md) | The name of the Mecanim human bone to which the bone from the model is mapped. |
