The BFSFoleySystemComponent
is the runtime system that connects your characters to the BFS Foley System.
It handles movement detection, bone tracing, footstep classification, and sound triggering — all fully automatic once added to your Blueprint.
Just add the BFSFoleySystemComponent
to any Character
Blueprint where you want footsteps or cloth sounds.
🎮 It is compatible with any ACharacter-derived Blueprint and supports multiple characters with unique BoneTraces and Wardrobe configs.
⚠️ For non ACharacter-derived, call theSetSkeletalMeshComponent
function exposed to blueprints.
The only editable variable is the Default Outfit — a Gameplay Tag such as:
Outfit.Sneakers
Outfit.Stealth
Outfit.Heavy
This tag defines which Wardrobe config to use.
You can override or retrieve the outfit at runtime:
Blueprint Functions: SetOutfit
and GetOutfit
This allows you to change clothing mid-game, and automatically swap sounds.
The component tracks two types of motion:
Walking Speed
— horizontal velocityFalling Speed
— vertical movementBoth are automatically measured each tick and used to assign appropriate Speed Categories.
You can override either value manually:
Blueprint Functions: OverrideWalkingSpeed
and OverrideFallingSpeed
This is useful for animation-driven movement or custom logic.
The component uses the BoneTraces asset to determine:
It samples the bone positions and rotations each tick to determine:
All this is done internally — you don’t need to call any manual updates.
Once motion is detected:
BFSFoleySystemComponent
to any characterOutfit
tagIf the system cannot find a footstep row that matches a given speed tag (e.g., Walk
, Run
), it will fallback to a row of the same type and metadata, but with no SpeedCategory
set.
✅ You can use this as a default catch-all row when no specific velocity tag is matched.
This allows you to define simplified or fallback entries for edge cases or generic footsteps.