FOLEY EDITOR TOOL

Unreal Engine 5

A standalone Unreal Engine editor plugin that turns footstep and foley event authoring from a manual, per-animation chore into a batch operation. Built as an extension of Epic's FootstepAnimEventsModifier, it detects foot strikes, generates sync markers and notifies, converts between the two, and cleans up legacy data — across one animation or hundreds at once.

Standalone UE 5.7 editor plugin · C++

Docked Editor & Batch Processing

The tool runs as a docked "Foley Editor" window right next to the Details panel inside any animation sequence — no separate windows, no context switching. Tune detection settings, run, and watch the notifies land on the timeline.

The same workflow scales: select any number of animations in the Content Browser and launch the batch edit window to process the whole set in one pass — built to handle large animation libraries, not just one-off sequences.

Selecting multiple animations in the Content Browser Batch edit tool window

Config-Backed Preset System

A Developer Settings config (Engine → Foley Editor Config → Saved Presets) stores and loads complete tool setups, and a preset drop-down fills every field in one click — speeding the process tenfold on repeat work. The plugin ships with curated presets that generally work for bi-pedal skeletons, and teams can add or delete their own per project, stored in the project's own config rather than the plugin's.

Foley Editor Config developer settings with saved presets

Per-Foot Detection Settings

Detection is driven by SampleRate, GroundThreshold, and SpeedThreshold, with optional removal of pre-existing notifies or sync markers before a pass. Each FootDefinition pairs a foot bone with a reference bone and independently controls what gets generated per foot:

FootDefinition
├─ FootBoneName · ReferenceBoneName
├─ bShouldGenerateSyncMarkers
│   └─ Track Name · Marker Name · Detection Technique
└─ bShouldGenerateNotifies
    └─ Track Name · Notify Class · Detection Technique

Foley Editor Tool detection settings

Migrating Existing Animation Data

Real projects rarely start clean, so the tool migrates what's already there. GenerateNotifiesFromSyncMarkers scans selected animations for existing sync markers, auto-populates the lane mappings, and generates notify tracks with the chosen notify class placed at every marker.

ReplaceExistingNotifies swaps notify classes across a whole selection: a Match button scans for existing classes and auto-suggests replacement pairs — picking the best match for left/right variants — with old-class and new-class pickers and optional property copying from the originals. OrphanedNotifies handles the leftovers: scan for notifies whose classes no longer resolve, match them by name pattern, and re-point them at a valid class.

Execution Log with Undo / Redo

Every run leaves a visible snapshot trail in an execution log inside the window, with undo and redo actions per entry — batch operations across hundreds of animations stay reversible, which is what makes the batch workflow safe to actually use.

In Development

Animation-name context (bUseAnimationNameContext)

The runtime side of this workflow is covered in the Footstep System breakdown and the Advanced Audio System plugin.