Most AAA games have some sort of perpetual or temporary limitations on either the pitch or yaw angles of the camera. Especially the pitch, as most third person games do not allow a full 180 degree range; while the yaw is usually limited during special events such as conversations with NPCs.
While the default Unreal Engine Camera Manager allows you to limits the yaw, it only does so in the world space; which is extremely inconvenient as it means that limiting the yaw to the range -45 to 45 degrees, isn’t relative to where you are looking.
Another inconvenience of the default Unreal Engine Camera Manager is that the angle limits are hard limits: there are no smooth decelerations. This all fixed with our Angle Constraints Modifier.
Here are examples from AAA video games.
Source - God of War
Pitch Constraints
(Doesn’t let you aim all the way up or down)
Source - High on Life
Yaw Constraints
Source - Red Dead Redemption 2
Pitch Constraints
(Doesn’t let you aim all the way up)
Angle Constraints Modifier Settings
There are a number of settings you can tweak for the angle constraints modifier.
Yaw Constraints
Constrain Yaw: Whether the yaw should be constrained to LocalMinYaw and LocalMaxYaw. If the yaw was already out of the new range, it will blend into range using the BlendTime and BlendCurve.
Yaw Constraint Tolerance: How close in degrees to the YawMin or YawMax should the camera start decelerating?
Local Min Yaw: How much can the character look right (angle in degrees).
Local Max Yaw: How much can the character look left (angle in degrees).
Yaw Constraints Blend Time: How fast should we blend from one Yaw constraint range to this one.
Yaw Constraints 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.
Pitch Constraints
Constrain Pitch: Whether the pitch should be constrained to LocalMinPitch and LocalMaxPitch. If the yaw was already out of the new range, it will blend into range using the BlendTime and BlendCurve.
Pitch Constraint Tolerance: How close in degrees to the PitchMin or PitchMax should the camera start decelerating?
Local Min Pitch: How much can the character look down (angle in degrees).
Local Max Pitch: How much can the character look up (angle in degrees).
Pitch Constraints Blend Time: How fast should we blend from one Pitch constraint range to this one.
Pitch Constraints 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 Angle Constraints Modifier
You can do this either by calling SetYawConstraints and SetPitchConstraints on the BP_UGCCameraManager
Or you can set them through the UGCCameraDataAssets, and then calling SetCameraData on BP_UGCCameraManager (see
If you want the camera to slowly decelerate to the constraints instead of the hard limit, you will need to add a UGC_CameraTurnRateModifier to your Look input.
Open your Input Mapping Context
Expand your Look input mapping and add the modifier