Skip to content

Structures

This section describes all data structures used throughout the PloxTools: Third Person Camera plugin.

These structures are used to configure camera systems, describe runtime camera state, and pass data through events and API calls. They are used consistently across both Blueprint and C++ workflows.

Each structure is documented with its fields, data types, and references to related enumerations or other structures where applicable.


Focus

FThirdPersonCameraFocusTarget

Represents a focus target used by the camera system.

This structure describes what the camera should focus on. Depending on the target type, it can reference an Actor, Scene Component, socket, or world-space location.

Field Type Description
Type EFocusTargetType Defines which kind of focus target is used.
Actor AActor* Target Actor when the focus type is Actor or Socket. Null for other target types.
Component USceneComponent* Target Scene Component when the focus type is Component. Null for other target types.
SocketName FName Socket name used when the focus type is Socket. Ignored for other target types.
Location FVector World-space location used when the focus type is Location. Ignored for other target types.

FThirdPersonCameraFocusEvent

Represents the current state of a focus session.

This structure is used by focus-related events and contains the resolved focus target, its distance to the camera pivot, and validity state.

Field Type Description
Target FThirdPersonCameraFocusTarget Full description of the focus target.
Distance To Pivot float Distance from the camera pivot to the focus target location.
Is Valid bool Indicates whether the focus target is valid and usable by the camera system.

FThirdPersonCameraFocusSettings

Defines how the camera behaves while focus is active.

This structure controls focus mode, rotation behavior, auto-clear rules, and soft/hard lock limits.

Field Type Description
Focus Mode EFocusMode Defines whether focus uses Hard Lock or Soft Lock behavior.
Enable Auto Clear By Distance bool If enabled, focus is automatically cleared when the target exceeds the allowed distance.
Auto Clear Distance float Maximum allowed distance from pivot to target before focus is cleared.
Enable Auto Clear By Visibility bool If enabled, focus is automatically cleared when the target is not visible for too long.
Auto Clear Visibility Delay float Time in seconds the target must remain invisible before focus is cleared.
Hard Lock Rotation Speed float Controls how quickly the camera rotates toward the focus target in Hard Lock mode.
Soft Yaw Limit float Maximum yaw deviation allowed from the focus target in Soft Lock mode before return begins.
Soft Pitch Limit float Maximum pitch deviation allowed from the focus target in Soft Lock mode before return begins.
Soft Return Speed float Speed at which the camera returns toward the target when Soft Lock limits are exceeded.
Enable Hard Yaw Limit bool If enabled, prevents the camera from rotating beyond the hard yaw limit relative to the focus target.
Enable Hard Pitch Limit bool If enabled, prevents the camera from rotating beyond the hard pitch limit relative to the focus target.
Hard Yaw Limit float Maximum allowed yaw deviation from the focus target when hard yaw clamping is enabled.
Hard Pitch Limit float Maximum allowed pitch deviation from the focus target when hard pitch clamping is enabled.

Framing

FThirdPersonCameraFramingSettings

Defines the base framing of the third-person camera.

This structure controls default camera distance, pivot height, and static framing offsets.

Field Type Description
Camera Distance float Default distance between the pivot and the camera when unobstructed.
Pivot Height float Base vertical height of the camera pivot above the actor origin.
Additional Camera Offset FVector Static local camera offset used for framing, such as shoulder positioning.
Additional Pivot Offset FVector Additional offset applied to the pivot after pivot height is calculated.

Rotation

FThirdPersonCameraRotationLagSettings

Defines smoothing behavior for camera rotation.

Field Type Description
Enable Rotation Lag bool Enables smooth interpolation between current and target rotation.
Rotation Lag Speed float Controls how quickly camera rotation follows input.

FThirdPersonCameraPitchFollowSettings

Defines automatic pitch follow behavior.

Field Type Description
Enable Pitch Movement Follow bool Enables automatic pitch alignment when the player is not rotating the camera manually.
Resting Camera Pitch float Target pitch angle the camera returns to when pitch follow is active.
Pitch Follow Speed float Speed at which the camera pitch follows the target pitch.
Pitch Follow Ramp Duration float Time in seconds for pitch follow to ramp in smoothly after activation.
Pitch Follow Time Threshold float Minimum time without manual pitch input before pitch follow starts.
Pitch Follow Angle Threshold float Minimum pitch difference required to trigger pitch follow.
Pitch Follow Min Speed Threshold float Minimum horizontal speed required for pitch follow to activate.
Enable Vertical Pitch Support bool Enables additional pitch support based on vertical character movement.
Max Vertical Pitch Up Offset float Maximum upward pitch offset applied when moving down or falling.
Max Vertical Pitch Down Offset float Maximum downward pitch offset applied when moving up.
Max Falling Pitch Offset float Maximum pitch offset applied while falling.
Enable Ceiling Anticipation bool Enables downward pitch adjustment when a ceiling is detected above the owner.
Ceiling Up Check Distance float Maximum vertical distance used to detect a ceiling above the pivot.
Ceiling Forward Check Distance float Forward distance used to sample ceiling ahead of the owner, allowing earlier anticipation before reaching obstacles.
Max Ceiling Pitch Offset float Maximum pitch offset applied when a ceiling is detected.

FThirdPersonCameraYawFollowSettings

Defines automatic yaw follow behavior.

Field Type Description
Enable Yaw Movement Follow bool Enables automatic yaw alignment toward movement direction.
Yaw Follow Speed float Speed at which the camera yaw follows movement direction.
Yaw Follow Diagonal Strength float Minimum yaw follow strength when moving diagonally.
Yaw Follow Ramp Duration float Time in seconds for yaw follow to ramp in smoothly after activation.
Yaw Follow Time Threshold float Minimum time without manual yaw input before yaw follow starts.
Yaw Follow Angle Threshold float Minimum yaw difference required to trigger yaw follow.
Yaw Follow Min Speed Threshold float Minimum horizontal speed required for yaw follow to activate.
Reset Yaw Follow Timer On Forward Backward bool If enabled, strictly forward or backward movement resets the yaw follow timer.

FThirdPersonCameraPitchConstraintSettings

Defines local pitch constraint behavior.

Field Type Description
Enable Pitch Constraints bool Enables pitch limits with slowdown near the active boundaries.
Min Pitch float Minimum allowed vertical look angle.
Max Pitch float Maximum allowed vertical look angle.
Pitch Constraint Tolerance float Angular distance from the pitch limits where slowdown begins.
Pitch Constraints Blend Time float Time used to blend into a new pitch constraint window when needed.

FThirdPersonCameraYawConstraintSettings

Defines yaw constraint behavior.

Field Type Description
Enable Yaw Constraints bool Enables yaw limits with slowdown near the active boundaries.
Min Yaw float Minimum allowed yaw angle. Supports wrapped intervals.
Max Yaw float Maximum allowed yaw angle. Supports wrapped intervals.
Yaw Constraint Tolerance float Angular distance from the yaw limits where slowdown begins.
Yaw Constraints Blend Time float Time used to blend into a new yaw constraint window when needed.

Movement Anticipation

FThirdPersonCameraMovementAnticipationSettings

Defines movement-based camera anticipation behavior.

Field Type Description
Enable Movement Anticipation bool Enables movement-based camera anticipation.
Anticipation Strength float Maximum offset applied in movement direction.
Anticipation Interp Speed float Interpolation speed of the anticipation offset.
Anticipation Lateral Only bool If enabled, anticipation only applies left/right offset relative to the camera.
Anticipation Look Input Delay float Delay after last look input before anticipation becomes active again.
Anticipation Full Speed float Character speed at which anticipation reaches full strength.
Anticipation Activation Interp Speed float Speed at which anticipation activates and deactivates.

Pitch Effects

FThirdPersonCameraPitchBasedEffectsSettings

Defines camera modifiers driven by pitch.

Field Type Description
Enable Pitch Camera Distance Modifier bool Enables pitch-based modification of camera distance.
Pitch Distance Down Percent float Distance change percentage when looking downward.
Pitch Distance Up Percent float Distance change percentage when looking upward.
Enable Pitch FOV Modifier bool Enables pitch-based modification of camera FOV.
Pitch FOV Down Percent float FOV change percentage when looking downward.
Pitch FOV Up Percent float FOV change percentage when looking upward.

Speed Effects

FThirdPersonCameraSpeedBasedEffectsSettings

Defines camera modifiers driven by owner speed.

Field Type Description
Speed Modifier Min Speed float Owner speed at which speed-based modifiers start affecting the camera.
Speed Modifier Max Speed float Owner speed at which speed-based modifiers reach maximum effect.
Enable Speed Modify Camera Distance bool Enables speed-based modification of camera distance.
Speed Min Camera Distance float Camera distance offset when speed is at minimum.
Speed Max Camera Distance float Camera distance offset when speed is at maximum.
Speed Camera Distance Interp Speed float Interpolation speed of the camera distance modifier.
Speed Camera Distance Curve UCurveFloat* Optional curve that remaps normalized speed to camera distance offset.
Enable Speed Modify FOV bool Enables speed-based modification of FOV.
Speed Min FOV float FOV offset when speed is at minimum.
Speed Max FOV float FOV offset when speed is at maximum.
Speed FOV Interp Speed float Interpolation speed of the FOV modifier.
Speed FOV Curve UCurveFloat* Optional curve that remaps normalized speed to FOV offset.

Camera Shake

FThirdPersonCameraShakeSettings

Defines persistent camera shake behavior.

Field Type Description
Enable Idle Camera Shake bool Enables subtle idle camera shake while the owner is not moving.
Idle Camera Shake Class TSubclassOf<UCameraShakeBase> Camera shake class used for idle shake.
Idle Shake Scale float Scale multiplier applied to the idle shake intensity.
Enable Movement Camera Shake bool Enables movement-driven camera shake.
Movement Camera Shake Class TSubclassOf<UCameraShakeBase> Camera shake class used for movement shake.
Movement Shake Min Speed float Owner speed at which movement shake begins.
Movement Shake Max Speed float Owner speed at which movement shake reaches maximum intensity.
Movement Shake Min Scale float Shake scale applied when owner speed equals the minimum shake speed.
Movement Shake Max Scale float Shake scale applied when owner speed reaches the maximum shake speed.
Movement Shake Interp Speed float Interpolation speed used to smooth movement shake intensity.
Movement Shake Curve UCurveFloat* Optional curve that remaps normalized movement speed to shake intensity.

Collision

FThirdPersonCameraCollisionSettings

Defines camera collision behavior.

Field Type Description
Enable Camera Collision bool Enables camera collision handling.
Camera Collision Radius float Radius of the collision sphere used between the pivot and the camera.
Min Distance From Pivot float Minimum distance the camera is allowed to move toward the pivot.
Collision Recovery Speed float Speed at which the camera returns to its normal distance after collision clears.
Ignore Characters bool If enabled, camera collision sweeps ignore Character actors.
Ignore Collision Tags TArray<FName> Actor tags that should be ignored by camera collision.
Collision Compression Speed float Speed at which the camera compresses toward the safe distance after a collision is detected.
Collision Distance Smoothing Speed float Smoothing speed applied to the computed safe distance over time.
Enable Predictive Avoidance bool Enables predictive avoidance using additional feeler probes.
Feeler Yaw Offset float Angular offset in degrees for side feeler probes.
Feeler Pairs int32 Number of feeler probe pairs cast around the main camera direction.
Feeler Probe Radius float Radius of each predictive avoidance probe.

Dithering

FThirdPersonCameraDitheringSettings

Defines camera dithering behavior for view obstruction handling.

Field Type Description
Enable Dithering bool Enables camera dithering for obstructing objects.
Dither Owner bool If enabled, the owner character can also fade when the camera is very close or inside the mesh.
Dither Attached Actors bool If enabled, actors attached to the owner will also fade when owner dithering is active. Useful for weapons, armor, cosmetic actors, and other attached equipment.
Dither Tags TArray<FName> Actor tags that should be considered for dithering when blocking the view.
Dither Min Opacity float Minimum opacity applied during dithering.
Dither Speed float Speed at which objects fade in and out.
Dither Sweep Radius float Sweep radius used to detect objects between the camera and the character.
Dither Overlap Radius float Radius around the camera used to detect nearby objects for dithering.

Debug

FThirdPersonCameraDebugSettings

Defines debug visualization options for the camera system.

Field Type Description
Debug Pivot bool Draws the camera pivot point.
Debug Ideal Camera bool Draws the ideal camera position before collision is applied.
Debug Final Camera bool Draws the final camera position after collision and arm interpolation.
Debug Collision Sweep bool Draws the main collision sweep from the pivot to the ideal camera position.
Debug Collision Hit bool Draws collision hit points detected during camera collision sweeps.
Debug Collision Feelers bool Draws predictive avoidance feeler sweeps used to probe collision around the main camera direction.
Debug Focus bool Draws the focus target location and a line from the pivot to the target.

Spline

FThirdPersonCameraSplineSettings

Defines how the camera behaves while a spline camera is active.

Field Type Description
Mode EThirdPersonCameraSplineMode Determines whether the spline uses time-based playback or tethered movement.
Focus Owner bool If enabled, the spline camera rotates to follow the owner. Ignored when Focus Target is set.
Focus Target AActor* Specific Actor for the spline camera to focus on. Overrides player focus when set.
Focus Offset FVector World-space offset added to the focus point.
Ease In Duration float Time in seconds used to blend from gameplay camera into spline camera.
Ease Out Duration float Time in seconds used to blend from spline camera back to gameplay camera.
Play Rate float Playback speed multiplier used in Timed mode.
Loop bool If enabled, the spline loops continuously in Timed mode.
Tether Type EThirdPersonCameraSplineTetherType Determines how the camera maintains distance relative to the player in Tethered mode.
Min Distance From Owner float Minimum distance the camera should maintain from the player for distance-constrained tether types.
Enable Tethered Rotation Soft Lock bool Enables limited player-controlled rotation offsets while in Tethered mode.
Tethered Rotation Yaw Limit float Maximum yaw offset allowed on top of spline camera rotation while tethered soft lock is enabled.
Tethered Rotation Pitch Limit float Maximum pitch offset allowed on top of spline camera rotation while tethered soft lock is enabled.
Tethered Rotation Return Speed float Speed at which manual tethered rotation returns back to zero after input stops.
Tethered Rotation Follow Speed float Speed at which visible camera rotation follows the internally tracked manual tethered rotation offset.