I have an animation with a character running while holding a rifle, but the hands move way too much and it looks weird in first person. Here’s a small video example:
Yes, there is, but I’m not sure it would look good. Anyways, what you need is an animation that contains that frozen pose you want the upper body to have. In the anim graph of your animation blueprint, right before your Final Pose output (or some other place, don’t know your setup) you insert a Layered Blend Per Bone node. The whole setup takes a long time to describe, but this video series shows how you’d do it, especially video 20:
It shows how you can achieve to have different animations on upper and lower body of the character. If your upper body animation is one where the character does not actually move, you’d have it the way you wanted.