On any scene component you have a property named Parent Socket
, you can enter a value from a dropdown if the parent of your selected scene component has any sockets (bones + sockets).
Breakdown of the Parent Socket
browser
This dropdown is built from FBlueprintComponentDetails::CustomizeDetails
(search for Parent Socket
to find it as this function handles other stuff to).
When you click on the browse icon it runs FBlueprintComponentDetails::OnBrowseSocket
, which will push a combo box (SSocketChooserPopup
) if the parent has any sockets.
The sockets are queried with USceneComponent::QuerySupportedSockets()
inside the widget Construct
function.
Once you click on a socket entry, ChooseSocket
(in widget class) will be called, which calls the OnSocketChosen
delegate which runs FBlueprintComponentDetails::OnSocketSelection
.
QuerySupportedSockets
overrides
Using the type of the returned socket description you can know if its a “pure” socket or a bone.
StaticMeshComponent
It iterates all sockets of type UStaticMeshSocket
.