Hi
I created a timer (loop, 0.01s, max 1 per frame) who starts when the player is aiming and stops when he’s not aiming anymore.
In the timer, I do a line trace to get the location where the current player camera is aiming to (=crosshair) and I get the weapon muzzle location and rotation (socket).
I use the node “Find look at rotation” (start=muzzle location and Target=Camera aim location) and get the “delta (rotator)” between “Find look at rotation” output and the muzzle rotation. This gives me the pitch and roll offsets values needed to adjust aiming in player’s animation Blueprint.
From the Animation BP, I get these values and adjust the procedural aiming accordingly. (should also work if it’s a BlendSpace). I use some curves (or LERPs) to apply corrections smoothly.