Humanoid Control

Virtual Reality

Headsets like HTC Vive, Gear VR and Oculus Rift are only supported when Virtual Reality Supported is selected in the Player Settings-Other Settings (Unity 5, 2012.1) or Player Settings-XR Settings (Unity 2012.2 and higher). If Virtual Reality Supported is deselected, a message will appear in the top of the script to remind you that the option is switched off.

Targets

Targets are used to move the body. The control of an avatar is split into six body parts: head, 2 arms, torso and 2 legs. Each body part is controlled by a target: Head, Left/Right Hand, Hips and Left/Right Foot. Targets are not shown in the hierarchy by default but can be made visible by clicking on the Show button for that target.

Instead of the normal targets, you can also use custom target by replacing the default targets with references to other transforms. A good example are hands which are connected to a steering wheel. In this example two empty GameObjects are set at the right locations of the steering wheel. The Left and Right Hand Target show then point to the Transforms of these empty GameObjects.

Every target will have Target script attached which give additional control over these targets:

Input

Enables you to choose which tracker devices are supported. Any combination of trackers can be chosen, even when the device itself is not present. Only when the devices are actually present in the system they will be used in the tracking. During game play you can see in the inspector which Input devices are actually present and tracking at any point.

Humanoid Control will combine multiple trackers using sensor fusion to achieve the best possible tracking result.

First Person Camera

Adds a camera at the eye position of the avatar. If virtual reality has been enabled, this will also enable head tracking for VR headsets.

Animator

Procedural and Mecanim animations are supported for body parts not being tracked by an input device. Mecanim animation is used when an appropriate Animation Controller is selected as parameter. Built-in procedural animation will be used when no Animation Controller is selected. See also Animations.

Pose

This will set the base pose of the avatar. For more information see Pose.

Networking

Remote Avatar

For networking setups, a remote avatar has to be selected which is used for the representation of the avatar on remote clients. This enables you to optimise the avatar mesh between first and third person views of the same avatar.

Movement

This sets a number of parameters for the locomotion of the avatar:

  • Forward Speed: the maximum forward speed in units/sec.
  • Backward Speed: the maximum backward speed in units/sec.
  • Sideward Speed: the maximum speed while strafing in units/sec.
  • Maximum acceleration: the maximum acceleration allowed when changing speed in units/sec./sec.
  • Rotation Speed: the maximum rotation speed along the Y axis in degrees/sec.

Settings

Show Real Objects Shows the tracking devices in the scene. See also The Real World.
Physics Enables hand physics and collisions during walking. See also Full Physics.
Use Gravity When this is enabled the avatar will fall down when there is no object underneath its feet.
Haptics Will use haptic feedback on supported devices when the hands are colliding or touching objects.
Use Gravity If there is not static object below the feet of the avatar the avatar will fall down until it reaches solid ground.
Proximity Speed Reduces the walking speed of the humanoid when in the neighbourhood of objects to reduce motion sickness.
Scaling Scale Tracking to Avatar scales the tracking input to match the size of the avatar. Scale Avatar to Tracking resizes the avatar to match the player size. Set Height To Avatar adjusts the vertical tracking to match the avatar size. Move Height to Avatar does the same but also resets the tracking origin to the location of the avatar.
Don't Destroy on Load This option will make sure that the humanoid is not destroyed when the scene is changed.