Landscape Phys Mat not detected, UE-86165?

We updated our project to 4.24 and now none of the landscapes Physical Materials are pick up by LineTraceByChannel. All other Phys Mats on objects in world work just fine. Landscapes read blank, not even their default phys mat is read.
Is this a bug? (sounds similar to UE-86165) If so has there been any progress in fixing it? Or possible work arounds? It’s a game breaker in our case.

I just updated my project to 4.24 as well, and had the same problem. I checked the engine code. The problem is in the file LandscapeCollision.cpp, line 603:

HeightfieldRef->UsedPhysicalMaterialArray.Add(GPhysXSDK->createMaterial(1, 1, 1));

The function createMaterial is supposed to take the staticFriction, dynamicFriction and restitution values from the Physical Material used by the landscape, but it just sets 1 to all those values instead.

If you compile your own engine, you can replace that line by this to fix this bug:

HeightfieldRef->UsedPhysicalMaterialArray.Add(GPhysXSDK->createMaterial(PhysicalMaterial->Friction, PhysicalMaterial->Friction, PhysicalMaterial->Restitution));


We’ve recently made a switch to a new bug reporting method using a more structured form. Please visit the link below for more details and report the issue using the new Bug Submission Form. Feel free to continue to use this thread for community discussion around the issue.


You can fix this by using Landscape Physical Material Output.

It seems that adding the “Physical Material Output” solves the sound problem , as it seems it works like the Layer Blend Node, but for Physical Materials (you need to create a sample node that matches the name from project settings material name and wire it to the corespondent point on the Output node ) . Hope it helps. And a side note, after you set the node restart the editor , so the changes can take effect.