Ali Şahan Yalçın
DocsThe demo

Get started

The demo

A playable level that shows every piece working together.

The plugin ships a small playable level built from the Third Person template, so you can hear the system working before wiring it into your own character. Everything in it lives in the plugin's Demo folder and references nothing in your project.

Playing it

  1. Turn on Show Plugin Content in the Content Browser's settings.
  2. Open Footstep System Content > Demo > Maps > Lvl_FootstepDemo.
  3. Press Play.

Debug drawing is on for the demo character, so every step draws its trace and a line like FootstepDemo.Run | Default | matched | FootstepDemo.Foot.Left.

What is in it

PieceWhereWhat it shows
CharacterBlueprints/BP_FootstepDemoCharacterThe template character with a Footstep Component. It searches the demo database only, so your own databases never affect it.
StatesThe notifiesEvery notify sets State Override: walk clips send FootstepDemo.Walk, jog clips FootstepDemo.Run, and the landing animation FootstepDemo.Land. Nothing on the character sets a state.
NotifiesCharacters/Mannequins/Anims/UnarmedOne per foot plant, on a Footsteps track, placed on each clip's own sync markers. The blend space only fires its highest weighted animation's notifies, so a walk and jog blend never plays both.
DatabaseBlueprints/DA_FootstepDemoDatabaseWalk, Run and Land on the Default surface, all using ATT_Footstep and SC_Footstep.
ActionBlueprints/Actions/BP_FootstepActionRuns on Land and prints each landing to the screen. Open it to see an Entry event reading the footstep context.
SoundsAudioBoots on rock for Walk, Run and Land, plus spare Metal and Snow sets for trying your own surface.
LevelMaps/Lvl_FootstepDemoA teal pad waiting for your own surface, a few steps, and a platform to jump off.

Walking and running

The walk clips sit at 300 cm/s in the blend space and the jog clips at 600, the character's top speed. A keyboard always asks for top speed, so WASD jogs. Push a gamepad stick less than about three quarters of the way to walk.

Trying your own surface

The demo only uses the Default surface on purpose. Surfaces are one list for the whole project, so a demo that shipped its own would overwrite yours. To watch one of yours being picked up:

  1. Name a surface in Project Settings > Engine > Physics > Physical Surface, for example Metal, if you have none yet.
  2. Create a Physical Material and set its Surface Type to that surface.
  3. Open Materials/MI_FootstepDemo_SurfaceZone and set its Phys Material to it.
  4. Open Blueprints/DA_FootstepDemoDatabase and add your surface under each state's Surface Effects. Give Walk the Metal_Light sounds and Run the Metal_Deep ones, or Snow_Gentle and Snow_Strong for snow.

Play again. On the teal pad the debug text names your surface, and you hear its sounds instead of the Default ones.

Demo tags

The demo's states and foot tags come from Config/Tags/FootstepSystemDemo.ini inside the plugin, which the plugin registers at startup. They show up in your tag list under FootstepDemo, and nothing outside the demo uses them.

To remove them, delete that file together with the Demo folder. The demo does not work without them.

What it needs

The demo uses Enhanced Input, Control Rig, Full Body IK and the Animation Compression Library. All four are on in a new 5.8 project, so there is nothing to do unless you turned one off. The plugin's own code needs none of them.

Before you ship

WARNING: Plugin content can end up in a packaged game, for example when no maps are listed to cook and every map gets cooked. Add /FootstepSystem/Demo to Project Settings > Packaging > Directories to never cook, or delete the folder.

ATT_Footstep, SC_Footstep and BP_FootstepAction live inside the demo folder too, so copy any of them you use into your own project first.

Sound credits

The demo sounds come from Freesound.org, all released as CC0 (public domain). Credit is not required, but it is appreciated.