[Metahuman] How to get bone when a collision occurs

We are using Metahuman in UE5.2 VRTemplate.

I want to set on component begin overlap on the body (skeletal mesh) of Metahuman.
And I want to implement different processing for each bone of the body, but I don’t know how to realize it, so please let me know.
Ex: overlap on hand_l → print string(‘hand_l’)

As for what I have tried,
I set “get bone name” to the other body index of “On component begin overlap” and printed it out with print string, but it came out as “None”.
2. to investigate the cause of the above, I directly output the Other Body Index as a print string, and the result was -1 no matter which part of the body overlap occurred.

Hi there @ALS_lab,

This topic has been moved from International to Programming & Scripting: Blueprint.

When posting, please review the categories to ensure your topic is posted in the most relevant space.

Thanks and happy developing! :slight_smile:

1 Like

This could be because the CAPSULE_COMPONENT is what the overlap is registering.

You may need to set up code such that the OVERLAP component ignores the capsule component.

@Leomerya12
Thanks for helping!!

What dose it refer to ‘the CAPSULE_COMPONENT’ ?

This Metahuman BP doesn’t have any collisions like box, capsule, or sphere collisions on BP component.↓

there are collisions only in Physic Assets.↓

In this case, how can I deal with?

1 Like

Okay, looking at your graph, I think I see a problem.

In the ON_COMPONENT_BEGIN_OVERLAP_(BODY) you made the overlap component from the BODY, but if you’re trying to register bone hits, don’t you need an overlap component that is NOT derivative from your mesh?

For example, create a SEPARATE blueprint that contains a BOX COLLISION. Then do what you did in the picture.

NOTE: Because it is a SEPARATE BLUEPRINT, you’ll either have to CAST or reference your character.

For reference: