Inside the Skeleton Editor, you can add Virtual Bones to the existing skeleton of your mesh using the Skeleton Tree. These serve to help
improve iteration time by enabling you to change your target joint hierarchy for aiming or IK (inverse kinematics) from inside the Editor. Before this was possible, you would have to
add these bones in your 3D modeling software outside of the Editor and then reimport all the animations to fix the animation data with the new joints included.
Virtual Bones, by their very nature, are not skinnable and are constrained between two existing bones in the skeleton hierarchy and they automatically generate data for each animation.
For example, you can add a joint that is a child of the hand but is constrained to the palm joint. Unlike sockets, this joint can be used in
Animation Blueprints as a target, such an IK target or "look at" target. These could even be modified in an Animation Blueprint for later use.