Settings
This section describes all configurable settings exposed by the PloxTools: Third Person Camera component and related spline settings.
These settings define the default behavior of the camera system when configured in the editor. They control framing, rotation, collision, focus, movement-based modifiers, visual effects, debugging, and spline playback.
Where applicable, settings are grouped by system to match their organization in the plugin and in the Unreal Editor.
Preset
CameraSettingsAsset
References a Camera Settings Asset that can be applied to the component.
Applying a settings asset copies its values into the component. After applying, the copied settings can still be modified manually on the component instance.
| Setting | Type | Description |
|---|---|---|
| CameraSettingsAsset | UThirdPersonCameraSettingsAsset* |
Camera Settings Asset applied to this component. Its values are copied into the component when assigned or applied. |
Framing
CameraDistance
Default distance between the pivot and the camera when no obstacles are blocking the view.
| Setting | Type | Description |
|---|---|---|
| CameraDistance | float |
Increasing this value moves the camera further back from the pivot. |
PivotHeight
Base vertical height of the camera pivot above the actor origin.
| Setting | Type | Description |
|---|---|---|
| PivotHeight | float |
Base pivot height used for camera positioning. Independent from capsule size and stable during crouch. |
AdditionalCameraOffset
Static local camera offset used for framing.
| Setting | Type | Description |
|---|---|---|
| AdditionalCameraOffset | FVector |
Local offset applied to the camera. X = forward/back, Y = right/left, Z = up/down. Often used for shoulder camera framing. |
AdditionalPivotOffset
Additional offset applied to the pivot after pivot height is calculated.
| Setting | Type | Description |
|---|---|---|
| AdditionalPivotOffset | FVector |
Used to fine-tune the orbit center position. |
Rotation
Rotation Lag
Controls smoothing between current and target camera rotation.
| Setting | Type | Description |
|---|---|---|
| bEnableRotationLag | bool |
Enables smooth interpolation between current and target rotation. When disabled, rotation follows input instantly. |
| RotationLagSpeed | float |
Controls how quickly the camera rotation follows player input. Higher values feel more responsive. |
Pitch Follow
Controls automatic pitch alignment when the player is not rotating the camera manually.
| Setting | Type | Description |
|---|---|---|
| bEnablePitchMovementFollow | bool |
Enables automatic pitch alignment toward a target resting pitch. |
| RestingCameraPitch | float |
Target pitch angle in degrees the camera returns to when pitch follow is active. |
| PitchFollowSpeed | float |
Speed at which camera pitch follows the target pitch. |
| PitchFollowRampDuration | float |
Time in seconds for pitch follow to ramp up after the threshold is reached. |
| PitchFollowTimeThreshold | float |
Minimum time in seconds without manual pitch input before pitch follow starts. |
| PitchFollowAngleThreshold | float |
Minimum pitch angle difference required to trigger pitch follow. |
| PitchFollowMinSpeedThreshold | float |
Minimum horizontal speed required to enable pitch follow. |
Pitch Follow - Vertical Support
Controls pitch support based on vertical movement, including slopes and falling.
| Setting | Type | Description |
|---|---|---|
| bEnableVerticalPitchSupport | bool |
Enables vertical pitch support based on pawn vertical movement. |
| MaxVerticalPitchUpOffset | float |
Maximum upward pitch offset applied when moving down or falling. |
| MaxVerticalPitchDownOffset | float |
Maximum downward pitch offset applied when moving up. |
| MaxFallingPitchOffset | float |
Maximum pitch offset applied while falling. |
Pitch Follow - Ceiling Anticipation
Controls pitch adjustment when a ceiling is detected above the character.
| Setting | Type | Description |
|---|---|---|
| bEnableCeilingAnticipation | bool |
Enables automatic pitch adjustment when a ceiling is detected above the character. |
| CeilingCheckDistance | float |
Maximum distance used to detect a ceiling above the pivot. |
| MaxCeilingPitchOffset | float |
Maximum downward pitch offset applied when a ceiling is directly above. |
Yaw Follow
Controls automatic yaw alignment toward movement direction when the player is not rotating the camera manually.
| Setting | Type | Description |
|---|---|---|
| bEnableYawMovementFollow | bool |
Enables automatic yaw alignment toward movement direction. |
| YawFollowSpeed | float |
Speed at which camera yaw follows movement direction. |
| YawFollowDiagonalStrength | float |
Minimum yaw follow strength when moving diagonally. |
| YawFollowRampDuration | float |
Time in seconds for yaw follow to ramp up after the threshold is reached. |
| YawFollowTimeThreshold | float |
Minimum time in seconds without manual yaw input before yaw follow starts. |
| YawFollowAngleThreshold | float |
Minimum yaw angle difference required to trigger yaw follow. |
| YawFollowMinSpeedThreshold | float |
Minimum horizontal speed required to enable yaw follow. |
| bResetYawFollowTimerOnForwardBackward | bool |
If enabled, strictly forward or backward movement resets the yaw follow activation timer. |
Pitch Constraints
Defines local pitch limits with soft slowdown near the active boundaries.
| Setting | Type | Description |
|---|---|---|
| bEnablePitchConstraints | bool |
Enables additional local pitch limits around the current view direction. |
| MinPitch | float |
Minimum vertical look angle in degrees. |
| MaxPitch | float |
Maximum vertical look angle in degrees. |
| PitchConstraintTolerance | float |
Angular distance from the pitch limits where slowdown begins. |
| PitchConstraintsBlendTime | float |
Time in seconds used to blend the camera pitch into a new constraint window when needed. |
Yaw Constraints
Defines yaw limits with soft slowdown near the active boundaries.
| Setting | Type | Description |
|---|---|---|
| bEnableYawConstraints | bool |
Enables yaw limits with slowdown near the active boundaries. |
| MinYaw | float |
Minimum yaw angle in degrees. Uses -180..180 space and can be greater than MaxYaw for wrapped intervals. |
| MaxYaw | float |
Maximum yaw angle in degrees. Uses -180..180 space and can be less than MinYaw for wrapped intervals. |
| YawConstraintTolerance | float |
Angular distance from the yaw limits where slowdown begins. |
| YawConstraintsBlendTime | float |
Time in seconds used to blend the camera yaw into a new constraint window when needed. |
Movement Anticipation
Controls camera anticipation based on movement direction and speed.
| Setting | Type | Description |
|---|---|---|
| bEnableMovementAnticipation | bool |
Enables camera anticipation based on character movement direction. |
| AnticipationStrength | float |
Maximum offset applied in movement direction. |
| AnticipationInterpSpeed | float |
Interpolation speed of the anticipation offset. |
| bAnticipationLateralOnly | bool |
If enabled, anticipation only applies left/right offset relative to the camera. |
| AnticipationLookInputDelay | float |
Time after last look input before anticipation becomes active again. |
| AnticipationFullSpeed | float |
Character speed at which movement anticipation reaches full strength. |
| AnticipationActivationInterpSpeed | float |
Speed at which movement anticipation activates and deactivates. |
Pitch Effects
Camera Distance
Controls pitch-based modification of camera distance.
| Setting | Type | Description |
|---|---|---|
| bEnablePitchCameraDistanceModifier | bool |
If enabled, base camera distance is modified by camera pitch before collision. |
| PitchDistanceDownPercent | float |
Base distance change percentage when looking downward. |
| PitchDistanceUpPercent | float |
Base distance change percentage when looking upward. |
FOV
Controls pitch-based modification of camera field of view.
| Setting | Type | Description |
|---|---|---|
| bEnablePitchFOVModifier | bool |
If enabled, camera FOV is modified by camera pitch. |
| PitchFOVDownPercent | float |
FOV change percentage when looking downward. |
| PitchFOVUpPercent | float |
FOV change percentage when looking upward. |
Speed Effects
General
Defines the speed range used for speed-based camera modifiers.
| Setting | Type | Description |
|---|---|---|
| SpeedModifierMinSpeed | float |
Character speed at which the modifier starts affecting the camera. |
| SpeedModifierMaxSpeed | float |
Character speed at which the modifier reaches maximum effect. |
Camera Distance
Controls speed-based modification of camera distance.
| Setting | Type | Description |
|---|---|---|
| bSpeedModifyCameraDistance | bool |
Whether the speed modifier affects camera distance. |
| SpeedMinCameraDistance | float |
Camera distance offset when speed is at minimum. |
| SpeedMaxCameraDistance | float |
Camera distance offset when speed is at maximum. |
| SpeedCameraDistanceInterpSpeed | float |
Interpolation speed of the camera distance modifier. |
| SpeedCameraDistanceCurve | UCurveFloat* |
Optional curve controlling how normalized speed maps to camera distance offset. |
FOV
Controls speed-based modification of field of view.
| Setting | Type | Description |
|---|---|---|
| bSpeedModifyFOV | bool |
Whether the speed modifier affects FOV. |
| SpeedMinFOV | float |
FOV offset when speed is at minimum. |
| SpeedMaxFOV | float |
FOV offset when speed is at maximum. |
| SpeedFOVInterpSpeed | float |
Interpolation speed of the FOV modifier. |
| SpeedFOVCurve | UCurveFloat* |
Optional curve controlling how normalized speed maps to FOV offset. |
Camera Shake
Idle
Controls subtle shake while the character is idle.
| Setting | Type | Description |
|---|---|---|
| bEnableIdleCameraShake | bool |
Enables idle camera shake when the character is not moving. |
| IdleCameraShakeClass | TSubclassOf<UCameraShakeBase> |
Camera shake class played while the character is idle. |
| IdleShakeScale | float |
Scale multiplier applied to the idle shake intensity. |
Movement
Controls movement-driven camera shake.
| Setting | Type | Description |
|---|---|---|
| bEnableMovementCameraShake | bool |
Enables camera shake driven by character movement speed. |
| MovementCameraShakeClass | TSubclassOf<UCameraShakeBase> |
Camera shake class used for movement shake. |
| MovementShakeMinSpeed | float |
Movement speed at which camera shake begins to appear. |
| MovementShakeMaxSpeed | float |
Movement speed at which the camera shake reaches maximum intensity. |
| MovementShakeMinScale | float |
Shake scale applied when speed equals MovementShakeMinSpeed. |
| MovementShakeMaxScale | float |
Shake scale applied when speed reaches MovementShakeMaxSpeed. |
| MovementShakeInterpSpeed | float |
Interpolation speed used to smooth movement shake intensity. |
| MovementShakeCurve | UCurveFloat* |
Optional curve used to remap normalized movement speed to shake intensity. |
Focus
General
Controls how the camera behaves while focusing on a target.
| Setting | Type | Description |
|---|---|---|
| FocusMode | EFocusMode |
Defines how the camera behaves when focusing on a target. |
| bEnableAutoClearByDistance | bool |
If enabled, focus is cleared when the distance to the target exceeds the defined threshold. |
| AutoClearDistance | float |
Maximum allowed distance from pivot to focus target before focus is cleared. |
| bEnableAutoClearByVisibility | bool |
If enabled, focus is cleared when the target is no longer visible from the pivot position. |
| AutoClearVisibilityDelay | float |
Time in seconds the target must remain invisible before focus is cleared. |
Hard Lock
| Setting | Type | Description |
|---|---|---|
| HardLockRotationSpeed | float |
Controls how quickly the camera rotates toward the focus target in Hard Lock mode |
Soft Lock
Controls limited player freedom while the camera remains guided toward the focus target.
| Setting | Type | Description |
|---|---|---|
| SoftYawLimit | float |
Maximum yaw angle the player can rotate away from the focus target before automatic return begins. |
| SoftPitchLimit | float |
Maximum pitch angle the player can rotate away from the focus target before automatic return begins. |
| SoftReturnSpeed | float |
Speed at which the camera returns toward the focus target when Soft Lock limits are exceeded. |
Soft Lock - Hard Limits
Adds hard angular limits relative to the focus target.
| Setting | Type | Description |
|---|---|---|
| bEnableHardYawLimit | bool |
If enabled, prevents the camera from rotating beyond the defined hard yaw limit. |
| bEnableHardPitchLimit | bool |
If enabled, prevents the camera from rotating beyond the defined hard pitch limit. |
| HardYawLimit | float |
Maximum allowed yaw deviation from the focus target when hard yaw clamping is enabled. |
| HardPitchLimit | float |
Maximum allowed pitch deviation from the focus target when hard pitch clamping is enabled. |
Collision
General
Controls main camera collision behavior.
| Setting | Type | Description |
|---|---|---|
| bEnableCameraCollision | bool |
Enables camera collision handling. |
| CameraCollisionRadius | float |
Radius of the collision sphere used between the pivot and the camera. |
| MinDistanceFromPivot | float |
Minimum distance the camera is allowed to move toward the pivot. |
| CollisionRecoverySpeed | float |
How quickly the camera returns to its normal distance after an obstacle is no longer blocking it. |
| bIgnoreCharacters | bool |
If true, camera collision sweeps ignore Character actors. |
| IgnoreCollisionTags | TArray<FName> |
Actors with any of these tags are ignored by camera collision. |
Advanced
Controls compression and smoothing behavior after collision is detected.
| Setting | Type | Description |
|---|---|---|
| CollisionCompressionSpeed | float |
Controls how quickly the camera compresses toward the safe distance when a collision is detected. |
| CollisionDistanceSmoothingSpeed | float |
Controls how smoothly the computed safe camera distance changes over time. |
Advanced - Predictive Avoidance
Controls predictive obstacle detection using additional feeler probes.
| Setting | Type | Description |
|---|---|---|
| bEnablePredictiveAvoidance | bool |
Enables predictive collision avoidance using additional feeler probes. |
| FeelerYawOffset | float |
Angular offset in degrees for side feeler probes. |
| FeelerPairs | int32 |
Number of feeler probe pairs cast symmetrically around the main camera direction. |
| FeelerProbeRadius | float |
Radius of each predictive avoidance probe. |
Dithering
Controls fading of blocking objects between the camera and the character.
| Setting | Type | Description |
|---|---|---|
| bEnableDithering | bool |
Enables camera dithering for obstructing objects. |
| bDitherOwner | bool |
If enabled, the owner character also fades when the camera is very close or inside the character mesh. |
| DitherTags | TArray<FName> |
Actors containing any of these tags can fade when they block the camera view. |
| DitherMinOpacity | float |
Minimum opacity applied during dithering. |
| DitherSpeed | float |
Controls how quickly objects fade in and out. |
| DitherSweepRadius | float |
Radius of the sweep used to detect objects blocking the camera view. |
| DitherOverlapRadius | float |
Radius around the camera used to detect nearby objects for dithering. |
Debug
Controls runtime debug visualization for the camera system.
| Setting | Type | Description |
|---|---|---|
| bDebugPivot | bool |
Draws the camera pivot point. |
| bDebugIdealCamera | bool |
Draws the ideal camera position before collision resolution is applied. |
| bDebugFinalCamera | bool |
Draws the final camera position after collision handling and arm interpolation. |
| bDebugCollisionSweep | bool |
Draws the main collision sweep from the pivot toward the ideal camera position. |
| bDebugCollisionHit | bool |
Draws collision hit points detected during camera collision sweeps. |
| bDebugFocus | bool |
Draws the focus target location and a line from the camera pivot to the target. |
Spline Settings
These settings define how the camera behaves for a specific spline actor placed in the world while a spline camera is active.
Each spline can have its own independent configuration. These settings correspond to FThirdPersonCameraSplineSettings.
General
| Setting | Type | Description |
|---|---|---|
| Mode | EThirdPersonCameraSplineMode |
Determines how the camera moves along the spline. |
| bFocusPlayerCharacter | bool |
If enabled, the camera rotates to follow the player character while moving along the spline. Ignored if FocusTarget is set. |
| FocusTarget | AActor* |
Specific Actor for the camera to focus on while moving along the spline. Overrides bFocusPlayerCharacter when set. |
| FocusOffset | FVector |
World-space offset added to the focus point when using FocusTarget or player-character focus. |
Ease
| Setting | Type | Description |
|---|---|---|
| EaseInDuration | float |
Time in seconds it takes for the camera to blend from the gameplay camera into the spline camera. |
| EaseOutDuration | float |
Time in seconds it takes for the camera to blend from the spline camera back to the gameplay camera. |
Timed Mode
| Setting | Type | Description |
|---|---|---|
| PlayRate | float |
Playback speed multiplier when the spline is played in Timed mode. |
| bLoop | bool |
If enabled, the camera loops the spline continuously in Timed mode. |
Tethered Mode
| Setting | Type | Description |
|---|---|---|
| TetherType | EThirdPersonCameraSplineTetherType |
Determines how the camera maintains distance relative to the player while following the spline. |
| MinDistanceFromOwner | float |
Minimum distance the camera should maintain from the player when using distance-constrained tether types. |
Tethered Mode - Rotation
| Setting | Type | Description |
|---|---|---|
| bEnableTetheredRotationSoftLock | bool |
If enabled, the player can manually rotate away from the spline rotation while in Tethered mode. |
| TetheredRotationYawLimit | float |
Maximum yaw offset in degrees that can be applied on top of the spline camera rotation. |
| TetheredRotationPitchLimit | float |
Maximum pitch offset in degrees that can be applied on top of the spline camera rotation. |
| TetheredRotationReturnSpeed | float |
Speed at which the manual rotation offset returns back to zero after look input stops. |
| TetheredRotationFollowSpeed | float |
Speed at which the visible camera rotation follows the internally tracked manual rotation offset. |