n00dFootsteps Third Person Integration

Getting Started!

Here we will be operating under the assumption that you already have your own character up and running with movement, we are adding this to current systems.

n00dbeaver running the Test Map 

For this guide we will be integrating this asset into the third person template so you can see the simplicity of adding this to your own Character.

1. Create Project, and name it n00dFootsteps


2. Open the project you just created, right click on the n00dComponents folder, and click Migrate. If it asks you to overwrite, click Yes to All. You may now close this project. 

3. First, back in your working project (ThirdPersonTemplate in the example case), we need to add a few PhysMats to the DefaultEngine.ini config file. In your project, right click on the content browser and click on Show in Explorer. Close your project once that window has loaded 

4. Navigate to this directory in the Windows Explorer (supplementing ThirdPerson for your own project name) and open the DefaultEngine.ini 

5. Copy and paste the code under the [/Script/Engine.PhysicsSettings] block at the bottom of what's already there. If there isn't a block, create one. Save and close. You may now reopen your  project. 

+PhysicalSurfaces=(Type=SurfaceType1,Name="Concrete")

+PhysicalSurfaces=(Type=SurfaceType2,Name="Dirt")

+PhysicalSurfaces=(Type=SurfaceType3,Name="Glass")

+PhysicalSurfaces=(Type=SurfaceType4,Name="Grass")

+PhysicalSurfaces=(Type=SurfaceType5,Name="Gravel")

+PhysicalSurfaces=(Type=SurfaceType6,Name="Metal")

+PhysicalSurfaces=(Type=SurfaceType7,Name="Mud")

+PhysicalSurfaces=(Type=SurfaceType8,Name="Rock")

+PhysicalSurfaces=(Type=SurfaceType9,Name="Water")

+PhysicalSurfaces=(Type=SurfaceType10,Name="Wood") 

6. You still with us? Okay, great. Back in your project. Open the ThirdPersonCharacter BP or whatever your master/base character is in your project. 

7. In the components window of ThirdPersonCharacter, add BPC_N00dFootsteps 

8. Add EventBeginPlay to the graph of the ThirdPersonCharacter 

9. Add a call to the parent 

10. Drag the component onto the graph and pull from its pin and type initialise. Select it. 

11. Pull backwards from the Owning pin and select the Set members in FOwning option 

12. Select the node and check the Character, Skeletal Mesh, and CMC variables 

13. Drag the required components into the graph and arrange the nodes like the image below

14. Drag the component onto the graph and pull from its pin again, and type in Play Axis Footsteps. Select it. 

15. In the ThirdPersonCharacter event graph, add the nodes as shown in the image 

From here its about how you setup your component settings as to how the behavior will respond to the input. You just need to fill out your desired values here and be on your merry way. Refer to N00dFootstepsCharacter included in the package for how this may look for you. You may also copy and paste those values to get you started.


We also need to cover the AnimNotify BP if you would like to initiate footsteps via that method, so read on! 

16. If you want the footsteps to play on Notify instead of on the axis, open up your Jog animation sequence and right-click on the timeline - here we will add AN_N00dFootsteps to where we just clicked. 

17. Click on AN_N00dFootsteps and in the details panel, specify the socket of the skeleton's foot (in this case its Epic skel, so its foot_r). Do this for all animations you need footsteps on. That's it! 

PRO TIP: Blend Spaces have a NotifyTriggerMode that allows the animations to play notifies on the HeighestWeightedAnimation. You may want to look into that ;) 

Don't forget to join our Discord for support!