Blueprint Trace functions don't set FCollisionQueryParams::bReturnFaceIndex

Branch: ‘Binary’

Build Version: 4.9.2-2707645+++depot+UE4-Releases+4.9


The Blueprint Standard Library’s trace functions (LineTraceByChannel, BoxTraceByChannel, etc.) do not set FCollisionQueryParams::bReturnFaceIndex to true. It also appears that the Blueprint library does not appear to expose FHitResult::FaceIndex when you break apart the resulting FHitResult.

I would assume that FaceIndex is not provided in the split FHitResult because there are few, if any, operations you can do using the FaceIndex within Blueprint. I would assume that this is also why bReturnFaceIndex is not set via the Blueprint Standard Library calls.

However, this runs into an issue where if you do want to use the FaceIndex for something (ie: passing the FHitResult from a BP trace into C++ code) it will silently fail (to set the FaceIndex) without any warning as to why.

I understand the desire to leave it out of the Blueprint Library (if it is expensive) since it cannot be used in BP. However I think it needs a warning in the documentation (which there is none) that warns you that BP traces will never return the FaceIndex because they never set bReturnFaceIndex to true.

This bug report is half-hoping that it’ll show up as one of the few results on Google for FaceIndex so that someone else can save themselves some engine code debugging!


Hi lordmatthoffman,

Thank you for your request. I have entered a request for a warning to be added to the documentation, UEDoC-2663, to be considered by the documentation team.