Physical material override w/ complex collision doesn't work

I’m not sure if this is a bug or not, I may have done something wrong on my end, but I have over an year of C++ experience with the engine and I think this is, indeed, a bug.

So here’s the thing. I have a projectile that acts as a weapon bullet. I’m subscribing to UProjectileMovementComponent::OnProjectileBounce() and UProjectileMovementComponent::OnProjectileStop() and both give me an FHitResult to work with. I’m reading the PhysMaterial property of the passed object in order to know what kind of surface I’m dealing with. It works well when the bullet hits an actor with simple collision, but when the actor’s mesh has CollisionComplexity set to Use Complex Collision as Simple, the returned PhysMaterial is always default.

HOWEVER: it does work if the phys material isn’t being overriden from the mesh itself, but is set directly in the mesh’s material properties. While I am kind of OK with this workaround, I do believe this is not intended behavior and should be addressed.

Hello,

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.

https://forums.unrealengine.com/unreal-engine/announcements-and-releases/1410408-unreal-engine-bug-submission-form

Thanks