Collision Sockets

To detect collision, this component is using mesh and it's sockets.

Function UpdateCollisionMesh allows to update currently used mesh and sockets.
Player and AI blueprints are using event dispatcher OnCollisionActivated to update collision mesh and sockets.

Let's take a look at its implementation in BP_CombatCharacter.

Whenever collision is activated it updates mesh and sockets based on CollisionPart.
If it’s MainHandItem, it takes displayed item of currently equipped weapon in main hand and its sockets.

That's why it's important to put collision sockets on weapon meshes like sword / dagger etc.

What are those arrays RightHandCollisionSockets etc?
Well, it’s simple array storing names of sockets attached to character’s skeleton hands / legs.

This way if we want to check for collision using right hand of the character, we simply put ANS_HitBox on attack montage and as CollisionType set RightHand.