Per Landscape Layer Footstep Sounds

I am currently trying to make different footstep sounds for different parts of a landscape, but footstep sounds aren’t playing on the landscape. Sounds do work if I apply a Phys Material to a standard object like a plane, or a cube and walk on it, but not a landscape. I’m not sure, is this an issue with the landscape or my blueprint?

My method to get sounds is to send a tracer to determine the phys material on the object and play the correct sound, but for landscape, it picks default rather than any specific ground type.

For my setup, I created a basic material with 3 types, grass, stone, and dirt, when I run code it prints out default rather than taking any of the 3 options.

I know I set up the phys material correctly by hooking it up to the maps Landscape Layer(see picture below)

Does anyone know why sound isn’t working, I think at one point it used to work. I should note sound does work, it’s not muted, it only plays the default incorrect sound.

footTest1.JPG
Tracer works on basic material with a set phys material, example: grass plays grass sound stone sounds like stone.

footTest2.JPG
The tracer sends default value rather than a correct sound. Example: all-terrain, doesn’t matter section plays default footstep sound.


The setup for my landscape material.

Below is the layout of my blueprint.

To reiterate, the blueprint gets the player’s location and shoots tracer down 150, if tracer hits, code goes through the selector and plays the appropriate sound, but looking at my print string, on terrain it only ever prints default whereas with, let’s say a plane(or any static meth) covered in a grass material, it properly prints grass in debug as well as plays proper sound.

There is a bug currently where if the project is updated from an old version the landscape stops returning the correct material entry.
dollar to donuts, this is the case for you as well.

Its pretty easy to spot. You get an actual error in the log rather then a warning. The landscape returns a bad value instead of the default material.

If you are instead getting Default returned (and no error), then you probably miss configured the material.

go onto the paint mode, click the lense near the layer to find where you saved the layer info, and open the file.
within it, you should be able to assign the physmat you need.

I do not see any error messages, correct me if I’m wrong but after exiting play mode a new window would pop up right? (does that mean no error) It does seem like an issue started after updating the engine version. How would I go about fixing this?

I don’t think I configured material incorrectly, the paint tabs layer info does have the proper phys material set, so that shouldn’t be an issue.

I can verify that if you created a new project with the latest engine you automatically have the bug.

You can test manually by printing the output of OutHitPhysMat - it returns “false” instead of the defaultphysmat - or the appropriate material.

I believe the only way to “fix” this at the moment is to build your own version of the engine from the latest dev files.
there’s a whole topic about people having the same issue with more details.

Support suggested upgrading a working project from an older version to the latest, but this hasn’t worked for me.

Refer to
https://forums.unrealengine.com/development-discussion/blueprint-visual-scripting/1696843-4-24-phys-mat-issues

This issue has been resolved in engine version 4.24.2

I’m having the same issue on version 23 so if I upgrade to 24 it is now solved?

Thanks alot