1. Define Surface Types
Go to your project settings and define a list of custom physical surface types (e.g., “Concrete,” “Glass,” “Water”).

2. Create Physical Materials
Create a separate Physical Material asset for each surface type you defined. In each asset’s properties, assign its corresponding surface type.
3. Apply Materials to Objects
Assign the correct Physical Material to the static meshes or landscape materials in your game world. For example, assign the “Concrete” Physical Material to a concrete floor mesh.

Based on the images, here is a simplified, step-by-step guide to setting up footstep sounds in a game engine like Unreal Engine.
1. Define Surface Types
Go to your project settings and define a list of custom physical surface types (e.g., “Concrete,” “Glass,” “Water”).
2. Create Physical Materials
Create a separate Physical Material asset for each surface type you defined. In each asset’s properties, assign its corresponding surface type.
3. Apply Materials to Objects
Assign the correct Physical Material to the static meshes or landscape materials in your game world. For example, assign the “Concrete” Physical Material to a concrete floor mesh.
4. Create Footstep Logic
In your character’s animation blueprint, use an “Anim Notify” to trigger an event when the foot hits the ground. The logic for this event should be:
- Perform a “Line Trace” downward from the character’s foot.
- “Break” the trace result to get the “Physical Material” of the object that was hit.
- Use a “Get Surface Type” node to identify the specific type of surface (e.g., “Concrete”).
- Use a “Select” node to choose a sound based on the identified surface type.
- Play the selected sound at the trace’s hit location.
