# Changelog

## 1.2.10 - 15 of January 2023 - for 4.27, 5.0, 5.1, 5.2, 5.3, 5.4

### Fixed

* Fixed camera jerking when changing some modifiers(example: interp current dist to target). [Report](https://discord.com/channels/690892642183282700/730331315966050346/1036431915219161188)
* Fixed and enable location lag options(it was disabled 1.2.7 update)
* Fixed deprecated using UMatineeCameraShake. Renamed it to ULegacyCameraShake
* Properly initialize FATPCLocationSettings::bEnableCameraRotationLag property. It was causing errors when launching the editor
* Fixed premature reset interpolation speed for pitch/yaw camera views limits. [Report](https://discord.com/channels/690892642183282700/730331315966050346/1062652708311552054)

## 1.2.9 - 11 of December 2022 - for 4.27, 5.0, 5.1

### Fixed

* Disable ATPCCameraComponent if UCameraComponent attached to ATPCCameraComponent not active. It usefull if you use another camera for FPS

## 1.2.8 - 1 of September 2022 - for 4.27, 5.0, 5.1

### Fixed

* Fixed double call UATPCCameraComponent::RegisterConsoleCommands(it caused warning logs)

## 1.2.7 - 2022-09-02

### Fixed

* Fixed camera teleportation after switching to another camera mode
* Temproarry disabled camera location lag(it caused a lot of bugs)

## 1.2.6 - 2022-06-05

### Fixed

* Fixed camera location lag(<https://discord.com/channels/690892642183282700/730331315966050346/981163964434108466>)
* Fixed camera distance calculcation

## 1.2.5 - 2022-04-16

### Fixed

* Fixed compile errors for ue 5.0

### Added

* Support ue 5.0

## 1.2.4 - 2021-09-02

### Fixed

* Fixed crash in ATPCCameraFadingObject.cpp:305(added check materialInstance for null)

### Added

* Support ue 4.27

## 1.2.3 - 2021-08-08

### Fixed

* Fixed fade for widgetComponent(case when widget rendered as default gray material)

### Changed

* Increase fade algo, now fadeObj create dynamic material for object only if material has Fade parameter(older algo version always created dynamic material when camera intersects mesh)

## 1.2.2 - 2021-04-03

### Added

* Debug for location object(DebugData::**bEnableLocationObjectDebug** in ATPCCameraComponent)

### Fixed

* Fixed target offset
* Fixed camera distance after collision(because of zoom interpolation always was at 0)

## 1.2.1 - 2021-03-04

### Fixed

* Fixed compile errors
* Fixed plugin camera mode uobject custom version

## 1.2.0 - 2021-03-01

### Added

* Added the ability to change camera modes during the game(now function UATPCCameraComponent::GetCurrentCameraMode has non const version).&#x20;

Example:&#x20;

{% tabs %}
{% tab title="C++" %}

```
GetCurrentCameraMode()->CameraModeSettings.FOVSettings.CameraFOV = 60.f;
```

{% endtab %}

{% tab title="Blueprints" %}
![](/files/-MUQX6u01btDkB0NLjq8)
{% endtab %}
{% endtabs %}

* Added new interpolation system. New system allows you to change the interpolation speed(see @FATPCInterploationSpeed). As a result, the final value changes more smoothly. Next properties replaced with new system:
  * FATPCLocationSettings::ZoomSpeed + ZoomInterpolationType
  * FATPCLocationSettings::SocketOffsetInterpSpeed
  * FATPCLocationSettings::TargetOffsetInterpSpeed
  * FATPCRotationSettings::ViewInterpolationSpeed
  * FATPCRotationOffsetSettings::ChangeRotationSpeed + InterpolationType
  * FATPCViewRotationToActorRotationSettings::ChangeRotationSpeed + ChangeRotationSpeedInterpSpeed
  * FATPCFOVSettings::InterpolationSpeed
  * FATPCFollowTerrainSettings::SocketOffsetInterpSpeed
  * FATPCFollowTerrainSettings::AngleRotationInterpSpeed
  * FATPCLockOnTargetSettings::CameraRotationSpeed + AdditionalSmoothRotationSpeed
  * FATPCRuntimeCameraToActorRotationSettings::ChangeRotationSpeed

After result value will reached target interpolation speed will reset(if bUseInterpSpeedToInterpolation is true)

Blue line - old interpolation. Orange - interpolation with interpolate interpolation speed.

{% tabs %}
{% tab title="Smooth Interpolation" %}
![](/files/-MVHX9_f8cnRJsCfnMOq)
{% endtab %}

{% tab title="Const Interpolation" %}
![](/files/-MVHXElpM-zBUfMYeaBR)
{% endtab %}
{% endtabs %}

* Added ReplaceSpringArmToATPCComponent function from UATPCFunctionLibrary for fast replace SpringArm component to ATPC
* Added "use pawn control rotation" from SpringArm functionality to camera mode settings RotationSettings
* Added disable custom FOV for CineCamera(work automatically, but you can override cine camera FOV by enabling FOVSettings::ChangeFOVWhenCineCamera )
* Added param bForceSet to UATPCCameraComponent::SetCameraMode function

### Removed

* Removed override functionality from UATPCCameraFOVObject(SetOverrideFOV), UATPCameraLocationObject(SetOverrideCameraLocation, SetOverrideCameraDistance, SetCustomSocketOffset,  SetCustomTargetOffset). Now you can directly change camera mode in runtime

### Changed

* Debug flags moved from CameraMode to ATPCCameraComponent::DebugRules
* Renamed plugin log category APTCLog to LogATPC
* Renamed function UATPCCameraLocationObject::GetViewRotationDelta to GetLastTickTargetRotationDelta
* Renamed property FATPCLockOnTargetSettings::bUseRotationLimits to bClampByCameraModeRotationLimits
* Renamed FATPCFollowTerrainSettings::TerrainAngleSocketOffsetCurve to SocketOffsetCurve
* Renamed FATPCFollowTerrainSettings::TerrainAngleRotationOffsetCurve to PitchRotationCurve
* Renamed FATPCFollowTerrainSettings::AngleDelayChange to ChangePitchRotationDelay

### Fixed

* Fixed crash when using old camera shakes(created before 4.26)
* Fixed compile error due to using FATPCOffsetValue out of plugin source
* Fixed crash when CameraModeScripts has null script instance
* Fixed looping for old camera shakes(matinee) in 4.26

##


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://forrgit.gitbook.io/advanced-third-person-camera/changelog.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
