Skip to main content
BP_SciFi_Character receives AC_FirstPersonCamera through the Gameplay Framework inheritance chain. FirstPersonCamera supplies the inherited camera behavior on BP_Gameplay_Character. Obtain AC_FirstPersonCamera through BPI_Gameplay_Character.GetFirstPersonCamera. Do not add a second controller to a framework character. For ADS, let the item decide whether aiming is active. Route the result through AC_WeaponView.OnAim, then call UpdateTargetFOV. Do not set the camera FOV directly on Tick from a weapon. Keep recoil offsets in ShooterCoreโ€™s recoil component. Use DA_FirstPersonCameraShake for event shakes. If timing must match an exact animation frame, start the shake from the matching notify.

Example: drive ADS FOV

  1. Get AC_FirstPersonCamera through BPI_Gameplay_Character.GetFirstPersonCamera.
  2. When the equipped weapon starts aiming, call UpdateTargetFOV(DesiredADSFieldOfView, ADSInterpolationSpeed).
  3. When aiming stops, call UpdateTargetFOV(DefaultFOV, RestoreInterpolationSpeed).
  4. Let the component update the current camera FOV.

Example: add a reload shake

  1. Create a project DA_FirstPersonCameraShake.
  2. From the weapon-view reload event, obtain the inherited first-person camera.
  3. Call PlayCameraShake(ProjectReloadShake) at the intended moment.
  4. Move the call to an animation notify when it must match an exact frame.
Rebind the target camera or mesh with UpdateTargetCamera and UpdatePlayerMesh if your character changes either component dynamically.