How to control by c++/blueprint to punch by left or right hand or both hands?

how to control by c++/blueprint to punch by left or right hand or both hands?
eg. player press LeftMouseButton to punch by left hand, RightMouseButton to punch by right hand, press LeftMouseButton&RightMouseButton at the same puch by both hands.
which means the punch starting time is totally controlled by progam.
is make single hand & arm punch Animation individually, and then is it able to play the 2 animations at custom time, and even need to play the 2 animations at the same time or nearly the same time.
i’m using Physical Animation Kinematic Root demo in the ContentExample, so the two boxing charactors can be hit and have physicla animation reaction while is hit.
thanks!

Moreover, what if i want to change the punch angle which means the angle between arm and body, it seems impossible to make individual punch animations every single angle. The punch actions with different are same, just the angles are different, so is it able to use just one animation then reuse it while each single angle.