How to add new Surface Types (Physics Material)

In this tutorial we will add new Surface Types for when we shoot at something, to be able to spawn different particle effects and impact sounds.

For this example I will use a tree mesh from here and a wood impact particle + wood impact sound from here, but you can use whatever assets you have, it’s up to you.

 

Let’s start with creating a new Physical Material, in this case it’s gonna be wood.
Surface1

 

Once it’s created, open it and tell it to be “Wood”.
Surface2

 

Now there are 2 ways to assign the material to something. The first one is to open the actual Material of the mesh in question and set the Physics Material there.
Surface3
The alternative solution is to assign it in the mesh component of a Blueprint Actor, see the enemy example for how it’s set to “Flesh”.

Now open BP_ProjectileBase and add a new particle and sound for the new physics material that we created.
Surface4
NOTE: you can set it in the projectile child classes too, that way you can have pistols for example spawn smaller particles, but snipers spawn larger ones!

 

And that’s it, now when we shoot at the tree, this is how it should look like:
Surface5

 

To add entirely new surface types, you can add them in project settings and duplicate the logic from any of the existing ones inside BP_ProjectileBase.
Surface6