Skip to content

Camera Functions (API)

This section documents all public functions exposed by the PloxTools: Third Person Camera component.

These functions are available in both Blueprint and C++ and are used to configure the camera, query camera state, trigger runtime behavior, and control advanced systems such as focus, spline playback, collision, and camera effects.

Unless otherwise noted, these functions operate on the active ThirdPersonCameraComponent instance and affect only that specific camera system.


Settings Asset

Function Parameters Return / Callback Description
Apply Camera Settings Asset Asset (UThirdPersonCameraSettingsAsset*) - Applies all settings from the Camera Settings Asset instantly. Framing settings are replaced and any runtime offsets are reset immediately.
Apply Camera Settings Asset Smooth Asset (UThirdPersonCameraSettingsAsset*), BlendTime (float), BlendCurve (UCurveFloat*) - Applies settings from the Camera Settings Asset. Framing parameters are smoothly blended over BlendTime, while all other settings are applied instantly.

Camera State

Function Parameters Return / Callback Description
Get Camera Location - FVector Returns the current world location of the controlled camera component.
Get Camera Rotation - FRotator Returns the current world rotation of the controlled camera component.
Get Camera Pivot Location - FVector Returns the current pivot location used as the origin for camera positioning.
Is Camera Compressed By Collision - bool Returns true if camera collision is currently compressing the camera closer to the pivot than its effective target distance.

Framing State

Function Parameters Return / Callback Description
Get Camera Distance - float Returns the base camera distance setting used when no runtime blend is active.
Get Current Camera Distance - float Returns the current runtime camera distance value after blending.
Get Pivot Height - float Returns the base pivot height setting.
Get Current Pivot Height - float Returns the current runtime pivot height value after blending.
Get Camera Offset - FVector Returns the current runtime camera offset blend value. This does not include the base AdditionalCameraOffset setting.
Get Pivot Offset - FVector Returns the current runtime pivot offset blend value. This does not include the base AdditionalPivotOffset setting.
Get FOV Offset - float Returns the current runtime FOV offset value added on top of pitch-based FOV effects.

Framing Control

Function Parameters Return / Callback Description
Set Framing NewCameraDistance (float), NewPivotHeight (float), NewCameraOffset (FVector), NewPivotOffset (FVector), NewFOVOffset (float), BlendTime (float), BlendCurve (UCurveFloat*) - Sets all runtime framing parameters at once. All values are applied and override current runtime offsets. Does not modify base settings.
Reset Framing BlendTime (float) - Resets all runtime framing offsets - camera distance, pivot height, camera offset, pivot offset, and FOV offset - back to their base settings over time.
Set Camera Distance NewDistance (float), BlendTime (float), BlendCurve (UCurveFloat*) - Blends the runtime camera distance to a new value over time. This does not modify the base CameraDistance setting.
Reset Camera Distance BlendTime (float) - Blends the runtime camera distance back to the base CameraDistance setting.
Set Pivot Height NewHeight (float), BlendTime (float), BlendCurve (UCurveFloat*) - Blends the runtime pivot height to a new value over time. This does not modify the base PivotHeight setting.
Reset Pivot Height BlendTime (float) - Blends the runtime pivot height back to the base PivotHeight setting.
Set Pivot Offset NewOffset (FVector), BlendTime (float), BlendCurve (UCurveFloat*) - Blends the runtime pivot offset to a new value over time. This offset is applied on top of AdditionalPivotOffset and does not modify it.
Reset Pivot Offset BlendTime (float) - Blends the runtime pivot offset back to zero. The base AdditionalPivotOffset remains unchanged.
Set Camera Offset NewOffset (FVector), BlendTime (float), BlendCurve (UCurveFloat*) - Blends the runtime camera offset to a new value over time. This offset is applied on top of AdditionalCameraOffset and does not modify it.
Reset Camera Offset BlendTime (float) - Blends the runtime camera offset back to zero. The base AdditionalCameraOffset remains unchanged.
Set FOV Offset NewOffset (float), BlendTime (float), BlendCurve (UCurveFloat*) - Blends the runtime FOV offset to a new value over time. This offset is applied on top of pitch-based FOV effects and does not modify the base camera FOV.
Reset FOV Offset BlendTime (float) - Blends the runtime FOV offset back to zero.
Swap Camera Shoulder BlendTime (float), BlendCurve (UCurveFloat*) - Mirrors the final camera shoulder by flipping the current runtime Y offset around the center line. The base AdditionalCameraOffset setting is not modified.

Focus State

Function Parameters Return / Callback Description
Is Focus Active - bool Returns true if the camera currently has an active focus target or focus location.
Get Focus Actor - AActor* Returns the currently focused Actor, or nullptr if focus is not using an Actor target.
Get Focus Location - FVector Returns the current world focus location used by the camera.
Has Valid Focus Target - bool Returns true if the camera currently has a valid focus target - actor, component, or location.
Get Focus Distance - float Returns the distance from the camera pivot to the current focus location. Returns 0 if focus is not active.

Focus Control

Function Parameters Return / Callback Description
Set Focus Actor InActor (AActor*), bUseOverrideSettings (bool), OverrideSettings (FThirdPersonCameraFocusSettings), OnFinished (FOnFocusFinishedLocal) Callback: OnFinished (Reason: EFocusLostReason) Sets focus to the specified Actor. Optionally allows overriding focus settings for this focus only. The optional callback is executed once when this specific focus session ends.
Set Focus Actor Socket InActor (AActor*), InSocketName (FName), bUseOverrideSettings (bool), OverrideSettings (FThirdPersonCameraFocusSettings), OnFinished (FOnFocusFinishedLocal) Callback: OnFinished (Reason: EFocusLostReason) Sets focus to a specific socket on the specified Actor's Skeletal Mesh. If the socket does not exist, the Actor location is used instead.
Set Focus Actor Component InComponent (USceneComponent*), bUseOverrideSettings (bool), OverrideSettings (FThirdPersonCameraFocusSettings), OnFinished (FOnFocusFinishedLocal) Callback: OnFinished (Reason: EFocusLostReason) Sets focus to the specified Scene Component. Optionally allows overriding focus settings for this focus only.
Set Focus Location InLocation (FVector), bUseOverrideSettings (bool), OverrideSettings (FThirdPersonCameraFocusSettings), OnFinished (FOnFocusFinishedLocal) Callback: OnFinished (Reason: EFocusLostReason) Sets focus to a fixed world location. Optionally allows overriding focus settings for this focus only.
Set Focus Offset InOffset (FVector) - Adds a world-space offset to the current focus target or location.
Reset Focus Offset - - Resets the focus offset back to zero.
Clear Focus - - Clears the current focus target or location and returns the camera to normal behavior.

Camera Animation

Function Parameters Return / Callback Description
Play Camera Animation CameraAnimation (UCameraAnimationSequence*), Parameters (FCameraAnimationParams), OnFinished (FOnCameraAnimationFinished), OnInterrupted (FOnCameraAnimationInterrupted) FCameraAnimationHandle Plays a camera animation through the PlayerCameraManager and returns its handle. Multiple camera animations can play simultaneously.
Stop Camera Animation AnimationHandle (FCameraAnimationHandle), bImmediate (bool) - Stops a specific camera animation, if it is currently active.
Stop All Camera Animations bImmediate (bool) - Stops all active camera animations started by this component.
Is Camera Animation Playing AnimationHandle (FCameraAnimationHandle) bool Returns true if the specified camera animation handle is currently playing.

Camera Shake

Function Parameters Return / Callback Description
Play Camera Shake ShakeClass (TSubclassOf<UCameraShakeBase>), Scale (float) UCameraShakeBase* Plays a camera shake using the PlayerCameraManager. Returns the active shake instance that can later be stopped manually.
Stop Camera Shake Shake (UCameraShakeBase*), bImmediately (bool) - Stops a specific camera shake instance previously returned by Play Camera Shake. If bImmediately is false, the shake blends out normally.
Stop All Camera Shakes bImmediately (bool) - Stops all currently active camera shakes on the PlayerCameraManager. If bImmediately is false, shakes blend out using their defined blend-out time.

Spline

Function Parameters Return / Callback Description
Play Camera Spline SplineActor (AThirdPersonCameraSplineActor*), bUseOverrideSettings (bool), OverrideSettings (FThirdPersonCameraSplineSettings), OnFinished (FOnCameraSplineFinished) Callback: OnFinished Starts playing a camera spline. If a spline is already active, it will be smoothly stopped and replaced. Optionally allows overriding the spline settings at runtime.
Stop Camera Spline - - Stops the currently active camera spline. If the spline is already stopping or inactive, this call has no effect.
Is Spline Active - bool Returns true if a camera spline is currently active or in the process of stopping.

Camera Control

Function Parameters Return / Callback Description
Set Camera Rotation TargetRotation (FRotator), BlendTime (float), Mode (ECameraRotationOverrideMode), OnFinished (FOnCameraRotationFinished) Callback: OnFinished Smoothly rotates the camera to the target rotation over time. Does nothing if a spline or focus is active.
Reset Camera Rotation BlendTime (float), Mode (ECameraResetMode), OnFinished (FOnCameraResetFinished) Callback: OnFinished Smoothly resets the camera rotation to the selected target mode. If focus is active, focus is cleared first.
Is Camera Resetting - bool Returns true while a camera reset blend is currently active.
Stop Camera Reset - - Stops the active camera reset without firing the completion callback.
Set Camera System Enabled bEnabled (bool) - Enables or disables the entire Third Person Camera system. When disabled, the component stops updating the camera.
Is Camera System Enabled - bool Returns true if the Third Person Camera system is currently enabled.

Player Control

Function Parameters Return / Callback Description
Set Look Input Enabled bEnabled (bool) - Enables or disables player look input on the owning PlayerController.
Set Move Input Enabled bEnabled (bool) - Enables or disables player movement input on the owning PlayerController.
Set Player Control Enabled bEnabled (bool) - Enables or disables both player look input and movement input on the owning PlayerController.

Character

Function Parameters Return / Callback Description
Set Character Rotation Follows Camera bEnabled (bool) - Controls whether the character should rotate with the camera yaw instead of orienting to movement direction.
Is Character Rotation Following Camera - bool Returns true if character rotation currently follows camera yaw.

Settings Setters

Function Parameters Return / Callback Description
Set Framing Settings Settings (FThirdPersonCameraFramingSettings) - Applies all framing settings directly to this component.
Set Framing Settings Smooth Settings (FThirdPersonCameraFramingSettings), BlendTime (float), BlendCurve (UCurveFloat*) - Applies all framing settings and smoothly blends them. The final camera and pivot positions remain stable during the transition.
Set Rotation Lag Settings Settings (FThirdPersonCameraRotationLagSettings) - Applies rotation lag settings directly to this component.
Set Pitch Follow Settings Settings (FThirdPersonCameraPitchFollowSettings) - Applies pitch follow settings directly to this component.
Set Yaw Follow Settings Settings (FThirdPersonCameraYawFollowSettings) - Applies yaw follow settings directly to this component.
Set Pitch Constraint Settings Settings (FThirdPersonCameraPitchConstraintSettings) - Applies pitch constraint settings directly to this component.
Set Yaw Constraint Settings Settings (FThirdPersonCameraYawConstraintSettings) - Applies yaw constraint settings directly to this component.
Set Movement Anticipation Settings Settings (FThirdPersonCameraMovementAnticipationSettings) - Applies movement anticipation settings directly to this component.
Set Pitch Effects Settings Settings (FThirdPersonCameraPitchEffectsSettings) - Applies pitch-based framing effect settings directly to this component.
Set Speed Effects Settings Settings (FThirdPersonCameraSpeedEffectsSettings) - Applies speed-based camera distance and FOV modifier settings directly to this component.
Set Shake Settings Settings (FThirdPersonCameraShakeSettings) - Applies camera shake settings directly to this component.
Set Focus Settings Settings (FThirdPersonCameraFocusSettings) - Applies focus settings directly to this component.
Set Collision Settings Settings (FThirdPersonCameraCollisionSettings) - Applies collision settings directly to this component.
Set Dithering Settings Settings (FThirdPersonCameraDitheringSettings) - Applies dithering settings directly to this component.
Set Debug Settings Settings (FThirdPersonCameraDebugSettings) - Applies debug visualization settings directly to this component.

Settings Getters

Function Parameters Return / Callback Description
Get Framing Settings - FThirdPersonCameraFramingSettings Returns the current framing settings stored in this component.
Get Rotation Lag Settings - FThirdPersonCameraRotationLagSettings Returns the current rotation lag settings stored in this component.
Get Pitch Follow Settings - FThirdPersonCameraPitchFollowSettings Returns the current pitch follow settings stored in this component.
Get Yaw Follow Settings - FThirdPersonCameraYawFollowSettings Returns the current yaw follow settings stored in this component.
Get Pitch Constraint Settings - FThirdPersonCameraPitchConstraintSettings Returns the current pitch constraint settings stored in this component.
Get Yaw Constraint Settings - FThirdPersonCameraYawConstraintSettings Returns the current yaw constraint settings stored in this component.
Get Movement Anticipation Settings - FThirdPersonCameraMovementAnticipationSettings Returns the current movement anticipation settings stored in this component.
Get Pitch Effects Settings - FThirdPersonCameraPitchEffectsSettings Returns the current pitch effects settings stored in this component.
Get Speed Effects Settings - FThirdPersonCameraSpeedEffectsSettings Returns the current speed-based camera distance and FOV modifier settings stored in this component.
Get Shake Settings - FThirdPersonCameraShakeSettings Returns the current camera shake settings stored in this component.
Get Focus Settings - FThirdPersonCameraFocusSettings Returns the current focus settings stored in this component.
Get Collision Settings - FThirdPersonCameraCollisionSettings Returns the current collision settings stored in this component.
Get Dithering Settings - FThirdPersonCameraDitheringSettings Returns the current dithering settings stored in this component.
Get Debug Settings - FThirdPersonCameraDebugSettings Returns the current debug visualization settings stored in this component.