The Arm Offset Modifier changes the Socket Offset and Target Offset of the Spring Arm Component of the camera. This is useful to implement features like swapping shoulders while aiming, or changing the horizontal/vertical offset of the camera when the character starts crouching, sprinting; etc.
Here are examples from AAA video games.
Source - Uncharted Lost Legacy
Source - Rogue Company
Arm Offset Modifier Settings
There are a number of settings you can tweak for the arm offset modifier.
Arm Socket Offset
Arm Socket Offset: Offset at the end of the spring arm. Use this instead of the relative-space *rotation* so that the UE camera system works as expected.
Arm Socket Offset Blend Time: How long does it take to blend to this Arm Socket Offset.
Arm Socket Offset Blend Curve: Controls the acceleration/deceleration of the blend. The curve has to be normalized (going from 0 to 1). Leave empty or use Hermite if unsure.
Arm Target Offset
Arm Target Offset: Offset at start of spring, applied in world space. Use this if you want a world-space offset from the parent component instead of the usual relative-space location.
Arm Target Offset Blend Time: How long does it take to blend to this Arm Target Offset.
Arm Target Blend Curve: Controls the acceleration/deceleration of the blend. The curve has to be normalized (going from 0 to 1). Leave empty or use Hermite if unsure.
Triggering the Yaw Follow Modifier
You can do this either by calling SetArmSocketOffset and SetArmTargetOffset on the BP_UGCCameraManager
Or you can set them through the UGCCameraDataAssets, and then calling SetCameraData on BP_UGCCameraManager (see