Skip to main content

Footstep Notifies

Place a footstep anim notify at every detected foot plant - your footstep-sound Blueprint on each heel strike, in one click. Notifies land on a dedicated Footsteps track; re-running the tool replaces them instead of stacking. Always in place (it's metadata, no new asset).

Panel: Motion → Footsteps. Context menu: TakeForge → Add Footstep Notifies...

Footstep Notifies options with per-foot notifies enabled

Options​

OptionMeaning
DetectedRead-only: how many steps the tool found per foot in this take
Different notify per footOff = one notify for both feet; on = separate pickers for left and right
NotifyA UAnimNotify class - typically your footstep-sound / footstep-VFX Blueprint notify. Leave None to place a named notify instead
Notify NameUsed when no class is picked: places a named skeleton notify (default Footstep, or Footstep_L / Footstep_R per-foot)

Class notify vs. named notify​

  • Class notify (e.g. an AnimNotify Blueprint that plays a sound): each plant gets its own instance of the class, ready to configure. Nothing else is touched.
  • Named notify: fires the AnimNotify_<Name> event on your Anim Blueprint - the classic pattern for footstep logic that lives in the AnimBP. The name is registered on the Skeleton so it shows up in notify pickers and the AnimBP event list; the first use of a new name therefore also dirties the Skeleton asset (the notification reminds you to save it).

Detection details​

Same foot-plant detection as foot sync markers (foot bones and contact height fraction come from Settings), with two footstep-specific rules:

  • A foot that is already planted on frame 0 doesn't count - that's the clip's initial state, not a step. No double-thud when the clip starts.
  • When both feet land on the same frame (jump landings), the right foot's notify is offset by half a frame. Persona scatters exactly simultaneous notifies onto separate tracks, which would break replace-on-re-run; half a frame is inaudible and keeps the track tidy.

Footstep notifies beside the FootSync markers on their own tracks

Markers and footsteps are independent

Foot sync markers drive blendspace phase-sync; footstep notifies drive game events (sounds, decals, camera shakes). Run either or both - they live on separate tracks (FootSync / Footsteps).

Scripting:

# one named notify for both feet
unreal.TakeForgeLibrary.add_footstep_notifies(seq, None, 'Footstep', None, 'Footstep')

# per-foot sound notify classes
cls_l = unreal.load_class(None, '/Game/Audio/AN_FootstepL.AN_FootstepL_C')
cls_r = unreal.load_class(None, '/Game/Audio/AN_FootstepR.AN_FootstepR_C')
unreal.TakeForgeLibrary.add_footstep_notifies(seq, cls_l, 'x', cls_r, 'x')