Ali Şahan Yalçın
DocsNode reference

Blueprint

Node reference

Every node the plugin adds, and what each one does.

Everything the plugin exposes to Blueprint, grouped by where it lives.

Component: making footsteps happen

Trigger Footstep

Makes a footstep. This is what the notify calls, and you can call it yourself for footsteps that do not come from an animation, like a landing impact from the movement component.

InputMeaning
Foot Bone NameBone or socket to trace from. Must exist on the mesh.
Foot TagWhich foot this is. Can be empty.
State OverrideUse this state instead of the resolved one. Leave empty for normal behaviour.
Source MeshMesh to read the bone from. Leave empty and the component works it out.
Volume MultiplierExtra volume on top of the database.
Pitch MultiplierExtra pitch on top of the database.

If the bone is not found, it falls back to the actor location, warns in the log with the bone name, and still makes a footstep.

Trigger Footstep At Location

The same thing at a world location, with no bone involved. For anything with no skeleton behind it: a vehicle scraping the ground, a creature whose contact point comes from gameplay code.

InputMeaning
LocationWhere to detect the surface and play the footstep
Foot TagWhich foot this is. Can be empty.
State OverrideUse this state instead of the resolved one
Volume MultiplierExtra volume
Pitch MultiplierExtra pitch

Play Footstep Effects

Plays the sound, particle and decal for a context. The component calls this itself unless you turned the three Auto switches off.

InputMeaning
FootstepThe context to play, normally the one from On Footstep

Use it when you want the standard behaviour back for cases your own logic did not want to change.

Component: state

Set Footstep State

Changes the state footsteps are looked up with.

InputMeaning
New StateYour state tag

Safe to call from anywhere. On a client that owns the actor it applies straight away and is sent to the server, which passes it on to everyone else. Passing a value it already has does nothing, so calling it every tick is fine.

Get Footstep State

Returns the state a footstep would use right now. It asks the owner through the interface first, then falls back to the stored state.

On Footstep State Changed

An event, fired whenever the state changes, including on remote machines when the change replicates in.

PinMeaning
Old StateWhat it was
New StateWhat it is now

Component: databases

Set Footstep Databases

Swaps the databases at runtime, for example when a character changes footwear.

InputMeaning
New DatabasesThe databases to search, in priority order

The new ones load in the background, so call Preload Footstep Assets afterwards if the next few footsteps matter.

Get Loaded Databases

Returns the databases currently in memory, in the order they are searched.

Preload Footstep Assets

Loads everything the databases reference in the background, so no footstep has to wait on streaming.

InputMeaning
State FilterOnly preload assets reachable from this state. Leave empty for everything.

The component does this at BeginPlay already. Call it yourself after swapping databases.

Resolve Effects

Looks up a state and surface without making a footstep. For previews and validation tools.

InputMeaning
StateState tag to look up
SurfacePhysical surface to look up
OutputMeaning
Return ValueTrue if a database matched
Out EffectsThe matched effect set

Component: events and overrides

On Footstep

The main event. Covered in Using it in Blueprint.

PinMeaning
FootstepEverything known about this footstep

Should Play Footstep

An overridable event. Return false to drop a footstep before anything is played or broadcast.

To use it, make a Blueprint child of Footstep Component, then override the function there.

InputMeaning
FootstepThe footstep about to happen
OutputMeaning
Return ValueTrue to let it through, false to drop it

Good for staying quiet while swimming, or while a stealth ability is up. The default lets everything through.

Resolve Footstep Surface

An overridable event that decides the surface. Also on a Blueprint child of the component.

Set Surface Source to Custom to make the component rely on yours instead of tracing.

InputMeaning
Foot Bone NameThe bone this came from, or none for a location footstep
Trace OriginWhere the foot is
OutputMeaning
Return ValueTrue if you found a surface
Out HitThe hit you used, if any
Out SurfaceThe surface you decided on

Use it for surfaces that are not physical materials at all, like water volumes or snow depth.

Footstep Action

Entry

The event inside a Footstep Action Blueprint. All the work goes here.

PinMeaning
FootstepThe same context On Footstep gets

Function library

These are static, so they work from any Blueprint.

Get Footstep Component

Finds the component on an actor. Returns nothing if it has none.

Get Surface Type From Hit

Reads the physical surface out of a hit result. Returns Default when the hit carries no physical material.

Useful well outside footsteps. Projectile impacts can reuse the same surface list.

Get Physical Surface Name

Returns the name you gave a surface in the physics settings. For debug displays and tools.

Get Project Physical Surfaces

Returns every surface your project has actually named. For validation passes that check a database covers everything.

Trace For Surface

Traces down for a surface the same way the component does.

InputMeaning
OriginWhere to trace from
Trace DistanceHow far below to reach
Trace Start OffsetHow far above to start
Trace ChannelChannel to trace on
Actor To IgnoreNormally the character
Trace ComplexNeeded for per face materials and landscapes
OutputMeaning
Return ValueTrue if something was hit
Out HitThe hit
Out SurfaceThe surface found

Find Effects In Databases

The component's lookup, exposed for tools and for code with no component.

InputMeaning
DatabasesDatabases to search, in priority order
StateState tag
SurfacePhysical surface

Load Random Sound From Effect Set

Picks a sound from a set and loads it.

WARNING: This blocks until the sound is in memory. Only use it in tools and previews. At runtime the component streams sounds in the background instead.

Database

Called on a Footstep Database asset.

NodeWhat it does
Find EffectsLooks up a state and surface, following the whole fallback chain
Gather Asset PathsEvery asset path the database references, for preloading
Get Defined StatesEvery state tag this database has an entry for
Get Defined SurfacesEvery surface it mentions

Settings

Get Footstep Settings

Returns the project settings object, so you can read the defaults at runtime.

Interface

Get Footstep State

The one function on the Footstep State Provider interface. Implement it on your character and return your current state tag. See States.

InputMeaning
Footstep ComponentThe component asking, in case one actor has several
OutputMeaning
Return ValueYour state tag, or empty to fall back

Structs you will break

StructHolds
Footstep ContextEverything about one footstep. Full pin list.
Footstep Effect SetThe sounds, effects, decal, actions and tags for one row
Footstep Surface EffectsThe surface map and fallback for one state