Ali Şahan Yalçın
DocsFootstep Actions

Blueprint

Footstep Actions

Blueprint logic attached to a single surface.

A Footstep Action is a Blueprint with one event in it. You attach it to a row in the database, and it runs when a footstep happens on that state and surface.

This is how you add behaviour to one surface without writing a single check.

Making one

  1. Right click in the Content Browser, then Footstep System > Footstep Action.
  2. Open it and add the Entry event.
  3. Put your logic in there.

That menu entry makes a Blueprint already parented to Footstep Action, so you do not have to hunt for the parent class.

Using one

In your database, open an effect set, then Gameplay > Actions. Press + and pick your action.

Because the list is on the row, the action only runs on that state and surface. A splash effect on wet surfaces costs nothing everywhere else.

Variables show up in the database

Anything you mark Instance Editable appears inline next to the action in the database.

So one action class gets reused with different settings per surface. A single Spawn Effect action pointing at dust on gravel and at water on puddles, rather than two Blueprints.

Spawning Niagara

The plugin will not spawn a Niagara system for you, but your action can:

code
1
2
3
Event Entry (Footstep)
  -> Break Footstep Context
  -> Spawn System At Location (your system, Location, Normal)

World context nodes all work normally inside Entry, so Spawn Actor, Play Sound at Location and the rest need nothing special.

The two built in settings

Every action has these on top of your own:

SettingDefaultWhat it does
EnabledonTurn the action off without deleting it or losing its settings
Always RunoffRun even when the footstep makes no sound

Always Run is worth understanding. Left off, the action counts as cosmetic: skipped on a dedicated server, and skipped when the footstep is too far away to hear, exactly like the sound is.

Turn it on for gameplay that has to happen either way, like reporting noise to AI. Bear in mind it then runs on a dedicated server too, so it must not assume there is a local player or anything on screen.

One rule

WARNING: Do not store per footstep state in variables. One action is shared by every character using that database, like an animation notify is. Two characters stepping at the same moment would overwrite each other. Read what you need from the Footstep pin instead.

Variables are for settings you fill in on the database and only read at runtime. Those are safe.

When they run

After On Footstep is broadcast, and before the automatic sound, particle and decal. They run in the order they are listed.