The Character Foot Effects component will determine when a new footstep has occurred. The footstep is detected based on the footstep mode and when a footstep occurs the Surface Effect based on the Surface Impact will play.

Surface Impact

The Surface Impact used to identify the footstep.


An array of Transforms specifying the location of each of the character’s feet. The Character Manager will automatically fill in this array for humanoid characters

Footstep Mode

Specifies how the footsteps are detected:

  • Body Step: Footsteps are determined by the vertical height of the character’s foot. When the foot’s Transform position is below the vertical Foot Offset value relative to the character’s position then a footstep has occurred.  This is the most realistic mode however note that results are very dependent on the quality of your animations and tweaking a good foot offset to go along with it.
  • Trigger: Footsteps will be placed when the foot Transform enters a trigger. This mode requires the FootstepTrigger component to be added to each foot Transform. When Unity calls the OnTriggerEnter method the FootstepTrigger component will notify the CharacterFootstep component that a footstep has occurred.  Note that the feet array is not used when the mode is set to the trigger type.
  • Fixed Interval: Footsteps will be placed according to a timer, and the horizontal foot position will be used to place footprint effects at ground level. Each foot will trigger effects whether touching the ground or not (this is hardly noticeable since feet are usually fairly close to the ground and moving fast). In this mode you’ll want to create separate states with custom intervals to differentiate between walking, running, or crouching.
  • Camera Bob: Footsteps will be placed when the camera bob dips (reaches the lowest point and then ascends again). This mode is most useful for first person mode and requires the camera to have bob motion enabled.
Min Velocity

The minimum velocity (squared) that the character must have in order for a footstep to be detected.

Move Direction Frame Count

If using the BodyStep mode, specifies the number of frames that the foot must be moving in order for it to be checked if it is down.

Foot Offset

Specifies an offset for when a raycast is cast to determine if the character’s foot is considered down.


If using the FixedInterval mode, specifies how often the footsteps occur (in seconds) when the character is moving.

Min Bob Interval

If using the CameraBob mode, specifies the minimum time that must elapse before another footstep occurs.