diff --git a/com.unity.cinemachine/CHANGELOG.md b/com.unity.cinemachine/CHANGELOG.md index 100a76f4a..a00049347 100644 --- a/com.unity.cinemachine/CHANGELOG.md +++ b/com.unity.cinemachine/CHANGELOG.md @@ -7,6 +7,9 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. ## [3.1.5] - 2025-012-31 ### Unreleased +### Bugfixes +- InheritPosition was not inheriting the camera position in all cases. + ### Added - Added `CinemachineConfiner2D.CameraWasDisplaced()` and `CinemachineConfiner2D.GetCameraDisplacementDistance()` methods. diff --git a/com.unity.cinemachine/Runtime/Behaviours/CinemachineCamera.cs b/com.unity.cinemachine/Runtime/Behaviours/CinemachineCamera.cs index 34190d5a9..853d28f32 100644 --- a/com.unity.cinemachine/Runtime/Behaviours/CinemachineCamera.cs +++ b/com.unity.cinemachine/Runtime/Behaviours/CinemachineCamera.cs @@ -137,8 +137,6 @@ public override void OnTargetObjectWarped(Transform target, Vector3 positionDelt /// World-space orientation to take public override void ForceCameraPosition(Vector3 pos, Quaternion rot) { - PreviousStateIsValid = false; - UpdatePipelineCache(); for (int i = 0; i < m_Pipeline.Length; ++i) if (m_Pipeline[i] != null) diff --git a/com.unity.cinemachine/Runtime/Core/CinemachineVirtualCameraBase.cs b/com.unity.cinemachine/Runtime/Core/CinemachineVirtualCameraBase.cs index 9accea611..06b6ad4cc 100644 --- a/com.unity.cinemachine/Runtime/Core/CinemachineVirtualCameraBase.cs +++ b/com.unity.cinemachine/Runtime/Core/CinemachineVirtualCameraBase.cs @@ -677,6 +677,7 @@ void ForceCameraPosition(CinemachineVirtualCameraBase vcam, Vector3 pos, Quatern } if (ParentCamera is CinemachineVirtualCameraBase vcamParent) vcamParent.ForceCameraPosition(vcam, pos, rot); + PreviousStateIsValid = true; } ///