In the UE4 pipeline, sockets which are exported from a 3D modelling program have to have the mesh’s name in their name in the form
SOCKET_RenderMeshName_Number
For adding standardized sockets (for example, ensuring that every character mesh with a hand has a “RightHand” socket for attaching held objects… or just naming sockets so they have an actual human readable name at all) this means that you have to use the mesh editor socket manager to rename or add sockets with readable names.
However, if you reimport the parent mesh, the reimport process deletes and replaces all of the sockets with the ones from the imported file. As a result, an artist fixing a minor visual bug can break systems which are dependent on socket names.
At a minimum, the reimport process should leave sockets whose name don’t match a socket in the reimported file alone.
Ideally, it should track what a socket’s name was originally, and automatically rename sockets as they’re imported from the 3D suite to match the new names they have been given in the editor.
Specifically, I was running into this problem with static meshes containing sockets.