Skip to content

Latest commit

 

History

History
738 lines (643 loc) · 47.6 KB

CHANGELOG.md

File metadata and controls

738 lines (643 loc) · 47.6 KB

Changelog

All notable changes to this package will be documented in this file.

The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

[3.1.1] - 2024-06-15

Added

  • New Rotation Control behaviour SplineDollyLookAtTargets lets you specify LookAt points at desird positions along a Spline Dolly trajectory.
  • Added Recenter Target setting to CinemachinePanTilt.

Fixed

  • Bugfix: InputAxis.TriggerRecentering() function caused the axis to immediately snap to its recenter value.
  • Bugfix: When multiple CM Brains were present, FixedUpdte cameras were sometimes being updated too frequently, resulting in jittery motion.
  • Regression fix: StateDrivenCamera inspector was failing to correctly set the states in the instruction list.
  • Bugfix: Decollider ignored terrain layers when resolving obstacles.
  • Bugfix: The GroupAverage Rotation Mode in CinemachineTargetGroup was not calculated properly.
  • Bugfix: added missing null check in CinemachineTargetGroup.WeightedMemberBoundsForValidMember.
  • Bugfix: added missing null check in CinemachineDeoccluder.PushCameraBack().
  • Bugfix: Cinemachine did not work properly with scaled splines.

Changed

  • CinemachineGroupFraming now has a compatibility mode so that it can work with CinemachineConfiner2D out of the box.
  • Removed FadeOutNearbyObjects sample scene and shader, because they do not show anythng useful.
  • SimplePlayerController no longer uses PlayerController.isGrounded because it's not reliable outside of FixedUpdate.

[3.1.0] - 2024-04-01

Fixed

  • Bugfix: index out of range exception when adding a Cm Shot to a timeline track whose CinemachineBrain is inactive.
  • Bugfix: OrbitalFollow with 3-ring setup would inappropriately damp in respose to vertical input if LookAt and Follow were at different vertical positions.
  • Bugfix: StateDrivenCamera min activation time was broken.
  • Bugfix: Solo not updating when brain is in FixedUpdate.
  • Bugfix: Spline roll was being calculated incorrectly when spline was rotated.
  • Bugfix: "Freeze When Blending Out" didn't work when switching betwen two cameras multiple times.
  • Bugfix: Cinemachine cameras would sometimes unnecessarily dirty the scene due to floating-point imprecision when setting transform rotations.

Added

  • Added CinemachineDecollider to resolve camera intersection with colliders and terrains, without necessarily preserving line-of-sight to target.
  • CinemachineDeoccluder has the option to resolve towards the Follow target instead of the LookAt target.
  • Added CinemachineShotQualityEvaluator which is a standalone version of the evaluation code in Deoccluder.
  • Added StateDrivenCamera.CancelWait() method to cancel the current wait on a pending state change.
  • Added FlyAround sample scene showing a simple fly-around camera.
  • Added IgnoreTimeScale option to InputAxisControllerBase.
  • Added confirmation dialog when exiting play mode, if Save During Play is enabled and changes have been made to saveable properties.

Changed

  • SplineDolly and SplineCart: position on spline is preserved when units change.
  • SimplePlayerAimController sample upgraded to work on arbitrary surfaces (no longer depends on world up).
  • SimplePlayerController sample has logic to avoid input gimbal lock when player is upside-down relative to the camera.
  • PlayerOnSphere sample is now PlayerOnSurface - can walk on arbitrary surfaces.
  • Axis recentering happens independently on axes with differing recentering tmes, so that input on one axis does not impact the recentering state of the others.
  • FreeLookOnSphericalSurface sample is improved, adding a moving surface and second camera.
  • Replaced SameAsFollowTarget with RotateWithFollowTarget (SameAsFollowTarget still exists but is deprecated).
  • Deoccluder evaluates shots in the Finalize stage instead of Aim.

[3.0.1] - 2023-11-27

Fixed

  • Bugfix: Divide-by-zero error in InputAxis.CancelDeltaTime if deltaTime is zero.
  • Regression fix: CinemachineCamera inspector Solo functionality was not updating correctly.
  • Regression fix: Legacy Lens settings had lost their ability to be animated.
  • Bugfix: Upgrader was not correctly upgrading animation bindings in some cases.

Added

  • Added CinemachineVirtualCameraBase.CancelDamping() convenience method to snap camera to its target position.
  • Added CinemachineOrbitalFollow.TargetOffset to reposition orbit center.
  • Added CinemachineGroupFraming.CenterOffset to reposition group center on the screen.
  • Added LookAtOffset to CinemachineHardLookAt behaviour.
  • Added support for the new Camera Overlay.

Changed

  • RuntimeUtility.GetScratchCollider and RuntimeUtility.DestroyScratchCollider are now public, to allow custom extensions to use them.
  • SaveDuringPlay supports multi-scene editing.

[3.0.0] - 2023-10-25

Fixed

  • Regression fix: Extensions and components were unable to modify the blend hint.
  • Bugfix: HardLockToTarget component was ignoring PreviousStateIsValid flag.

Added

  • Cancellation of active blend is now possible in ManagerCameras, same as in CM Brains.

Changed

  • CinemachineBrain.TopCameraFromPriorityQueue() is now protected virtual.

[3.0.0-pre.9] - 2023-10-01

Fixed

  • Regresion fix: Sequencer inspector child camera popups were not being populated.
  • Regresion fix: Manager Camera's child camera warning icons were not being updated correctly.
  • Regresion fix: ManagerCameras were crushing PreviousStateIsValid in their children.
  • Bugfix: CinemachineInputAxisController editor was missing foldout arrows on the Driven Axis items.

[3.0.0-pre.8] - 2023-09-22

Fixed

  • Bugfix: Occasional precision issue when camera rotation is exactly 180 degress, causing rotational flickering.
  • Bugfix: Deceleration at the end of axis range was too aggressive.
  • Bugfix: Orbital recentering should not be forced when transitioning to a camera.
  • Bugfix: InheritPosition takes the actual camera position, so it works consistently if transitioning mid-blend.
  • Bugfix: CinemachineDeoccluder was causing a pop when OnTargetObjectWarped was called.
  • Bugfix: Spurious camera cut events were being issued, especially in HDRP.
  • Bugfix: Null reference exceptions when inspector is hidden behind another tab.
  • Bugfix: GroupFraming inspector was displaying incorrect warning when LookAt target is a group.
  • Bugfix: GroupFraming displays more accurate group size indicator in the game view.
  • Bugfix: nullrefs in log when target group was deleted but was still being referenced by vcams.
  • Regression fix: CinemachineCollider generated NaN positions if no target was set.

Added

  • New sample: ThirdPersonWithAimMode showing how to implement a FreeLook camera with Aim mode.
  • Added Recentering Target to OrbitalFollow. Recentering is now possible with Lazy Follow.
  • Added API in Deoccluder and ThirdPersonFollow to access which collision objects are impacting the camera position.
  • Added ICinemachineTargetGroup.IsValid property to detect deleted groups.
  • Added option to disable deltaTime scaling in CinemachineInputAxisProvider.

Changed

  • Improved OrbitalFollow's ForceCameraPosition algorithm.
  • Deoccluder accommodates camera radius in all modes.
  • Renamed CinemachineSplineDolly.CameraUp to CameraRotation, which more accurately reflects what it does.
  • Renamed InputAxis.DoRecentering() to InputAxis.UpdateRecentering()
  • StateDrivenCamera: child camera enabled status and priority are now taken into account when choosing the current active camera.

Deprecated

  • Removed CinemachineToolSettings overlay.

[3.0.0-pre.7] - 2023-05-04

Added

  • Added CinemachineCore.GetCustomBlender and BlendCreatedEvent to allow custom blend behaviour.
  • New Custom Blends sample scene illustrating how to customize the blend algorithm.
  • CinemachineChannels can now be named via the CinemachineChannelNames asset. OutputChannel struct has been removed.
  • Added CinemachineCameraManagerEvents behaviour.
  • Added the option of defining CINEMACHINE_NO_CM2_SUPPORT, to lighten the package by removing legacy CM2 support.
  • ThirdPerson Shooter sample scene now has an option to swap shoulders.

Changed

  • Improved handling of nested blends.
  • CinemachineCameraEvents and CinemachineBrainEvents and CnemachineCameraManagerEvents can be added to any GameObject, not only to the target objects.

[3.0.0-pre.5] - 2023-04-25

Fixed

  • Bugfix: MixingCamera calls OnTransitionFromCamera correctly for all its children.

Added

  • New BlendHint: IgnoreTarget will blend rotations without considering the tracking target.
  • New BlendHint: FreezeWhenBlendingOut will blend out from a snapshot of the camera state.
  • InputAxisController has the option to suppress input while the attached camera is blending.
  • Added CinemachineCameraEvents and CinemachineBrainEvents behaviours for event processing.
  • Added BlendFinished and CameraDeactivated events.
  • Add split screen sample for the input system.
  • Samples UI works with both legacy input and Input package.
  • Timeline: Added Track Priority field in CinemachineTrack to control track precedence when tracks are contained in nested timelines.
  • New 2D platformer sample showing custom camera manager.

Changed

  • Minimum Unity version is now 2022.2.15, for best inspector experience.
  • All namespaces changed from "Cinemachine" to "Unity.Cinemachine".
  • "Cinemachine.Utility" namespace folded into to "Unity.Cinemachine".
  • CinemachineBlendListCamera has been renamed to CinemachineSequencerCamera.
  • Renamed .asmdef files to follow the convention: Unity.[PackageName].
  • TrackedObjectOffset renamed to TargetOffset.
  • Improved layout of PositionComposer and RotationComposer inspectors.
  • LensSettings was refactored to improve handling of SensorSize and other physical properties.
  • Full physical camera support for builtin pipeline.
  • LensPresets and PhysicalLensPresets are now separate assets.
  • CinemachineInputAxisController refactored to be more easily customized.
  • Samples are compatible with Built-in, Universal, and High Definition Render Pipelines.
  • CinemachineUpgradeManager re-opens original scene after upgrade is complete.
  • Events system refactored.
  • Refactored CinemachineCameraManagerBase to be more useful for customizing.
  • CinemchineCore refactored to remove singleton.

[3.0.0-pre.4] - 2023-02-09

Added

  • Progress bar added to Cinemachine Upgrader.
  • CinemachineDeoccluder is a new class, not just a rename of CinemachineCollider.
  • CinemachineAutoFocus extension is now available for built-in and URP pipelines, with reduced functionality compared to HDRP.
  • Camera.focusDistance is driven by CM when the camera is in physical mode.
  • Confiner2D provides API to adjust the confiner to the current window size when the lens or aspect changes.
  • TargetGroup now ignores members whose gameObjects are inactive.
  • Cinemachine Samples can import their package dependencies.
  • CinemachinePathBase search radius fixed for not looped paths.
  • Add SplineAutoDolly.ISplineAutoDolly.Reset() method and SplineAutoDolly.Enabled flag.
  • Confiner2D and Confiner3D support smooth stop at bounds edge.
  • URP: add temporal effects reset on camera cut.
  • Add Weight setting to CinemachinePostProcessing and CinemachineVolumeSettings.
  • GroupFraming also works on LookAt target.
  • Several new Sample scenes were added.

Changed

  • Improved performance of CINEMACHINE_EXPERIMENTAL_DAMPING algorithm.
  • Path gizmo drawing was optimized.
  • Confiner2D does less gc alloc.
  • CinemachineSmoothPath is upgraded to Splines correctly now.
  • InputAxis refactor for recentering and momentary axis support.
  • CinemachineIndependentImpulseListener renamed to CinemachineExternalImpulseListener.
  • CmCamera is now CinemachineCamera.
  • The SimpleFollowWithWorldUp binding mode has been renamed to LazyFollow.
  • CinemachineExtension API changes to VirtualCamera, GetAllExtraStates, OnTargetObjectWarped, and ForceCameraPosition.
  • Third person shooter sample use object pooling for the projectiles.

Deprecated

  • CinemachineConfiner is deprecated. New behaviour CinemachineConfiner3D to handle 3D confining. Use CinemachineConfiner2D for 2D confining.
  • 3rdPersonFollow and 3rdPersonAim are deprecated and replaced by ThirdPersonFollow and ThirdPersonAim respectively.

Fixed

  • Regression fix: POV and PanTilt handle ReferenceUp correctly.
  • Bugfix: Lens blending was wrong.
  • Bugfix: CinemachineDeoccluder Pull Forward strategy only pulls forward even with Camera Radius bigger than 0.
  • Bugfix: Extensions were not respecting execution order on domain reload.
  • Bugfix: AxisState was not respecting timescale == 0.
  • Bugfix: priority ordering was wrong when the difference between any priority values were smaller than integer min or bigger than integer max values.
  • Bugfix: Very occasional axis drift in SimpleFollow when viewing angle is +-90 degrees.
  • Bugfix: Physical lens settings were not being properly applied.

[3.0.0-pre.3] - 2022-10-28

  • Bugfix: rotation composer lookahead sometimes popped

[3.0.0-pre.2] - 2022-10-20

  • Add Show Hierarchy Icon preference option.
  • New icons for cinemachine (cameras, components, extensions, tracks).
  • Freelook ForcePosition is more precise now.
  • Confiner2D supports BoxCollider2D now.
  • Added "Place Objects At World Origin" preference option support.
  • Added Channel setting, to use for multiple CM Brains, instead of piggybacking on the layer system.
  • CinemachineCollider renamed to CinemachineDeoccluder.
  • New inspector and API for composition guides.
  • Game View Guides now indicate when they are hot and can be dragged.
  • CinemachineTrack assigns the default CinemachineBrain on creation.
  • Add support for HDRP 14 (Unity 2022.2).
  • Bugfix: StateDrivenCamera/Clearshot: Transition glitch when backing out of a transition in progress.
  • Bugfix: Occasional 1-frame glitch when transitioning between some freelooks.
  • Bugfix: Transposer with LockToTarget binding sometimes had gimbal lock.
  • Bugfix: InputValueGain mode of axis input was not framerate-independent.
  • Bugfix: POV starts up in its centered position, if recentering is enabled.

[3.0.0-pre.1] - 2022-06-01

  • Upgrade mechanism for upgrading Cinemachine 2 to Cinemachine 3.
  • VirtualCamera refactor: CinemachineVirtualCamera is now CmCamera.
  • FreeLook refactor: CinemachineFreeLook is now CmCamera with FreeLook Modifier.
  • Combine Follow and LookAt Targets to single Tracking Target with optional LookAt Target.
  • Add flag for custom priority setting.
  • HDRP only: Added FocusDistance setting to lens
  • HDRP only: New AutoFocus extension. Use instead of VolumeSettings for Focus Tracking. Includes Automatic mode that queries depth buffer instead of tracking a specific target.
  • Added Lens Mode Override property to CM Brain. When enabled, it allows CM cameras to override the lens mode (Perspective vs Ortho vs Physical).
  • Added Unity Spline support. Old Cinemachine Paths are deprecated in favour of Unity Splines.
  • Added customizable Auto Dolly to cameras and Spline Cart.
  • Added IShotQualityEvaluator to enable customization of shot quality evaluation for ClearShot
  • Bugfix: No redundant RepaintAllViews calls.
  • Bugfix: Collider damping is more robust with extreme FreeLook configurations

[2.9.0] - 2022-08-15

  • Bugfix: CinemachineConfiner was not confining correctly when Confine Screen Edges was enabled and the camera was rotated.
  • Bugfix: Confiner2D confines to midpoint when camera window is bigger than the axis aligned bounding box of the input confiner.
  • Bugfix: 3rdPersonFollow shows a warning message when no follow target is assigned like the rest of the body components.
  • Bugfix: FadeOut sample scene shader was culling some objects incorrectly.
  • Bugfix: Freelook had wrong heading at first frame, which could cause a slight jitter.
  • Bugfix: FramingTransposer and Composer had a slight rounding error in their Bias fields when the Screen X and Y fields were modified.
  • Bugfix: Fixed spurious Z rotations during speherical blend.
  • Bugfix: Blending speed was not set correctly, when blending back and forth between the same cameras.
  • Regression fix: POV is relative to its parent transform.
  • Bugfix: SensorSize is not saved when not using physical camera.
  • Clipper library dependency is no longer conflicting with users.
  • AimingRig sample is only optionally dependent on UnityEngine.UI.
  • Bugfix: Transposer with LockToTarget binding sometimes had gibmal lock
  • Bugfix: StateDrivenCamera/Clearshot: Transition glitch when backing out of a transition in progress

[2.9.0-pre.7] - 2022-03-29

  • Bugfix: memory leak with PostProcessing if no PP layer is present on the camera
  • Bugfix: Standalone profiler no longer crashed with CM.
  • Bugfix: Cinemachine does not produce compiler error in unity editor versions older than 2020, when Input System package is installed.
  • Bugfix: EmbeddedAssetProperties were not displayed correctly in the editor.
  • Timeline guards added to scripts that rely on it.
  • Bugfix: SaveDuringPlay works with ILists now.
  • Bugfix: Paste VirtualCamera and FreeLook components onto prefab works for subcomponents
  • Bugfix: CinemachineInputProvider now correctly tracks enabled state of input action
  • Bugfix: POV orientation was incorrect with World Up override
  • Added AutoEnable option to CinemachineInputHandler

[2.9.0-pre.6] - 2022-01-12

  • Bugfix: Negative Near Clip Plane value is kept when camera is orthographic.
  • Regression fix: could not change the projection of the main camera if a CM virtual camera is active.
  • Regression fix: Axis input was ignoring CM's IgnoreTimeScale setting.
  • Removed legacy .unitypackages
  • New feature: CinemachineBrain may control other GameObject instead of the one it is attached to.
  • Bugfix: Cinemachine assigns a default input controller delegate that returns 0 when the legacy input system is disabled.
  • Cinemachine example scenes show informative text when used with Input System instead of throwing error messages.
  • Regression fix: compilation errors when physics module is not present.
  • GameObjects created with Gameobject menu items now follow Unity naming conventions.
  • Regression fix: virtual cameras no longer forget that they are targeting groups on domain reload.
  • Moved Cinemachine tools into the main Tools overlay (2022.1+), moved Freelook rig selection to a separate overlay, updated icons to support light and dark themes.
  • Bugfix: 3rdPersonFollow logged console messages when looking straight up or down.
  • BugFix: InputProvider no longer causes a tiny gc alloc every frame.
  • Regression fix: CinemachineCollider smoothing time did not reset correctly, so it was working once only.
  • Cinemachine supports Splines package. Added new Body component: CinemachineSplineDolly.
  • Bugfix: Overlay tooltip names were incorrect.
  • Bugfix: Confiner2D now displays the calculated confining area when its vcam is selected.
  • Samples no longer throw errors with HDRP and URP. 3rdPersonWithAimMode and Timeline samples no longer have invalid references.

[2.9.0-pre.1] - 2021-10-26

  • Added ability to directly set the active blend in CinemachineBrain.
  • Bugfix: OnTargetObjectWarped() did not work properly for 3rdPersonFollow.
  • Bugfix: POV did not properly handle overridden up.
  • Regression fix: removed GC allocs in UpdateTargetCache.
  • Bugfix: async scene load/unload could cause jitter.
  • Bugfix: Input system should be read only once per render frame.
  • Bugfix: Blends were sometimes incorrect when src or dst camera is looking along world up axis.
  • Bugfix: Improve accuracy of Group Framing.
  • New feature: Added scene view overlay tools for Cinemachine components.
  • Regression fix: Lookahead works again.
  • Cinemachine3rdPersonAim exposes AimTarget, which is the position of where the player would hit.

[2.8.0] - 2021-07-13

  • Bugfix: Freelook prefabs won't get corrupted after editing the Prefab via its instances.
  • Bugfix: 3rdPersonFollow works with Aim components now.
  • Bugfix: Blends between vcams, that are rotated so that their up vector is different from World up, are correct now.
  • Bugfix: POV recentering did not always recenter correctly, when an axis range was limited.
  • Bugfix: Collider sometimes bounced a little when the camera radius was large.
  • Bugfix: CinemachineVolumeSettings inspector was making the game view flicker.
  • Bugfix: CinemachineVolumeSettings inspector displayed a misleading warning message with URP when focus tracking was enabled.
  • Bugfix: Rapidly toggling active cameras before the blends were finished did not use the correct blend time.
  • AimingRig sample scene updated with a better reactive crosshair design.
  • Added API accessor for Active Blend in Clearshot and StateDrivenCamera.
  • Bugfix: Virtual Cameras were not updating in Edit mode when Brain's BlendUpdateMode was FixedUpdate.
  • Bugfix: Lens mode override was not working correctly in all cases.
  • Collider2D inspector: added warning when collider is of the wrong type.

[2.8.0-pre.1] - 2021-04-21

  • Switching targets (Follow, LookAt) is smooth by default. For the old behaviour, set PreviousStateIsValid to false after changing the targets.
  • Bugfix: Reversing a blend in progress respects asymmetric blend times.
  • Regression fix: CmPostProcessing and CmVolumeSettings components setting Depth of Field now works correctly with Framing Transposer.
  • Regression fix: 3rdPersonFollow kept player in view when Z damping was high.
  • Regression fix: Physical camera properties were overwritten by vcams when "override mode: physical" was not selected.
  • New sample scene: Boss cam demonstrates how to setup a camera that follows the player and looks at the player and the boss. Boss cam also shows examples of custom extensions.
  • Added simplified modes to Impulse Source.
  • Added secondary reaction settings to Impulse Listener.
  • Added Storyboard support for ScreenSpaceOverlay and ScreenSpaceCamera camera render modes.
  • Added DampingIntoCollision and DampingFromCollision properties to Cinemachine3rdPersonFollow to control how gradually the camera moves to correct for occlusions.
  • Added CinemachineCore.OnTargetObjectWarped() to warp all vcams targeting an object.
  • Added ability for vcam to have a negative near clip plane.
  • Added Draggable Game Window Guides toggle in Cinemachine preferences. When disabled, Game Window guides are only for visualization.
  • Added button to virtual camera inspectors to auto-generate the CinemachineInputProvider component if it is missing.
  • Default PostProcessing profile priority is now configurable and defaults to 1000.
  • Cinemachine3rdPersonFollow now operates without the physics module and without collision resolution.
  • Bugfix: 3rdPersonFollow collision resolution failed when the camera radius was large.
  • Bugfix: 3rdPersonFollow damping occured in world space instead of camera space.
  • Bugfix: 3rdPersonFollow stuttered when Z damping was high.
  • Regression fix: CinemachineInputProvider stopped providing input.
  • Bugfix: Lens aspect and sensorSize were updated when lens OverrideMode != None.
  • Bugfix: Changing targets on a live vcam misbehaved.
  • Bugfix: Framing transposer did not handle empty groups.
  • Bugfix: Interrupting a transition with InheritPosition enabled did not work.
  • Bugfix: Cinemachine3rdPersonFollow handled collisions by default, now it is disabled by default.
  • Bugfix: SaveDuringPlay saved some components that did not have the SaveDuringPlay attribute.
  • Regression fix: Entries in the custom blends editor in CM Brain inspector were not selectable.
  • GameView guides are drawn only if appropriate inspector subsection is expanded.
  • FreeLook rigs are now organized in tabs in the inspector.
  • New sample scene: Boss cam sample scene demonstrates a camera setup to follow the player and to look at the player and the boss. The scene provides examples of custom extensions.
  • New Sample scene: 2D zoom, showing how to zoom an orthographic camera with mouse scroll.
  • New Sample scene: 2D fighters, showing how to add/remove targets gradually to/from a TargetGroup based on some conditions (here, it is the y coord of the players).
  • Bugfix: CinemachineCollider's displacement damping was being calculated in world space instead of camera space.
  • Bugfix: TrackedDolly sometimes introduced spurious rotations if Default Up and no Aim behaviour.
  • Bugfix: 3rdPersonFollow's shoulder now changes smoothly with respect to world-up vector changes.

[2.7.2] - 2021-02-15

  • CinemachineConfiner2D now handles cases where camera window is oversized
  • New sample scene (FadeOutNearbyObjects) demonstrating fade out effect for objects between camera and target using shaders. The example includes a cinemachine extension giving convenient control over the shader parameters
  • Bugfix (1293429) - Brain could choose vcam with not the highest priority in some cases
  • Bugfix: SaveDuringPlay also works on prefab instances
  • Bugfix (1272146) - Adding vcam to a prefab asset no longer causes errors in console
  • Bugfix (1290171) - Impulse manager was not cleared at playmode start
  • Nested Scrub Bubble sample removed (filenames too long), available now as embedded package
  • Compilation guards for physics, animation, and imgui. Cinemachine does not hard depend on anything now
  • Bugfix: CM StoryBoard had a 1 pixel border
  • Bugfix: CM StoryBoard lost viewport reference after hot reload
  • Bugfix: FramingTransposer's TargetMovementOnly damping caused a flick.
  • Bugfix: FreeLook small drift when no user input if SimpleFollowWithWorldUp
  • Bugfix: InheritPosition did not work with SimpleFollow binding mode
  • Bugfix: cleanup straggling post processing profiles when no active vcams
  • Bugfix: Checking whether the Input Action passed to CinemachineInputHandler is enabled before using it.
  • Bugfix: 3rdPersonFollow FOV was blended incorrectly when ReferenceLookAt was set to a faraway target
  • Bugfix: Position predictor not properly reset
  • Bugfix: Create via menu doesn't create as child of selected object
  • Bugfix: Post-processing profiles not cleaned up when no active vcams
  • Bugfix: Install CinemachineExamples Asset Package menu item was failing on 2018.4 / macOS
  • New sample scene (2DConfinerComplex) demonstrating new CinemachineConfiner2D extension.
  • Updated CharacterMovement2D script in 2D sample scenes (2DConfinedTargetGroup, 2DConfiner, 2DConfinerUndersized, 2DTargetGroup) to make jumping responsive.
  • Updated 2DConfinedTargetGroup and 2DConfiner scenes to use new CinemachineConfiner2D extension.

[2.7.1] - 2020-11-14

  • New feature: CinemachineConfiner2D - Improved 2D confiner.
  • Added ApplyAfter option to ImpulseListener, to add control over the ordering of extensions
  • UI update - Moved Cinemachine menu to GameObject Create menu and Right Click context menu for Hierarchy.
  • Virtual Camera Lens inspector supports display of Horizontal FOV
  • Virtual Camera Lens can override orthographic and physical camera settings
  • Bugfix (1060230) - lens inspector sometimes displayed ortho vs perspective incorrectly for a brief time
  • Bugfix (1283984) - Error message when loading new scene with DontDestroyOnLoad
  • bugfix (1284701) - Edge-case exception when vcam is deleted
  • Storyboard Global Mute moved from Cinemachine menu to Cinemachine preferences.
  • Bugfix - long-idle vcams when reawakened sometimes had a single frame with a huge deltaTime
  • Bugfix - PostProcessing temporarily stopped being applied after exiting play mode

[2.6.3] - 2020-09-16

  • Regression fix (1274989) - OnTargetObjectWarped broken for OrbitalTransposer
  • Bugfix (1276391) - CM Brain Reset did not reset Custom Blends asset in inspector
  • Bugfix (1276343) - CM Brain inspector custom blends misaligned dropdown arrow
  • Bugfix (1256530) - disallow multiple components where appropriate
  • Bugfix: BlendList camera was incorrectly holding 0-length camera cuts
  • Bugfix (1174993) - CM Brain logo was not added to Hierarchy next to Main Camera after adding vcam for the first time after importing CM.
  • Bugfix (1100131) - Confiner is aware of 2D collider's offset attribute.

[2.6.2] - 2020-09-02

Bugfixes

  • Regression fix: OnCameraCut Memory leak when using Cinemachine with PostProcessing package
  • Bugfix (1272146): Checking for null pipeline, before drawing gizmos.
  • Add support for disabling Physics module

[2.6.1] - 2020-08-13

Bugfixes

  • Regression Fix: PostProcessing/VolumeSettings FocusTracksTarget was not accounting for lookAt target offset
  • Regression fix: Confiner no longer confines noise and impulse
  • Bugfix: StateDrivenCamera was choosing parent state if only 1 clip in blendstate, even though there was a vcam assigned to that clip
  • Bugfix: vertical group composition was not composing properly
  • Bugfix: CinemachineNewVirtualCamera.AddComponent() now works properly
  • Bugfix: removed compile errors when Physics2D module is disabled
  • Bugfix: brain updates on scene loaded or unloaded
  • Bugfix (1252431): Fixed unnecessary GC Memory allocation every frame when using timeline
  • Bugfix (1260385): check for prefab instances correctly
  • Bugfix (1266191) Clicking on foldout labels in preferences panel toggles their expanded state
  • Bugfix (1266196) Composer target Size label in preferences panel was too big
  • Bugfix: Scrubbing Cache was locking virtual camera transforms beyond the cache range
  • Improved performance of path gizmo drawing
  • Timeline Scrubbing Cache supports nested timelines, with some known limitations to be addressed with a future Timeline package release
  • Added support for deterministic noise in the context of controlled rendering (via CinemachineCore.CurrentTimeOverride)
  • Added Target Offset field to Framing Transposer
  • Added Multi-object edit capabilities to virtual cameras and extensions
  • Added inspector button to clear the Scrubbing Cache

[2.6.0] - 2020-06-04

New Features and Bugfixes

  • Added AxisState.IInputProvider API to better support custom input systems
  • Added CinemachineInpiutProvider behaviour to support Unity's new input system
  • Added Timeline Scrubbing cache: when enabled, simulates damping and noise when scrubbing in timeline
  • Added ManualUpdate mode to the Brain, to allow for custom game loop logic
  • VolumeSettings/PostProcessing: added ability to choose custom target for focus tracking
  • Added CinemachineRecomposer for timeline-tweaking of procedural or recorded vcam Aim output
  • Added GroupWeightManipulator for animating group member weights
  • Impulse: Added PropagationSpeed, to allow the impulse to travel outward in a wave
  • Impulse: added support for continuous impulses
  • Added CinemachineIndependentImpulseListener, to give ImpulseListener ability to any game object
  • Added 3rdPersonFollow and 3rdPersonAim for dead-accurate 3rd-person aiming camera
  • Added ForceCameraPosition API of virtual cameras, to manually initialize a camera's position and rotation
  • Added example scenes: Aiming Rig and Dual Target to show different 3rd person cmera styles
  • FramingTransposer does its work after Aim, so it plays better with Aim components.
  • Framing Transposer: add Damped Rotations option. If unchecked, changes to the vcam's rotation will bypass Damping, and only target motion will be damped.
  • Refactored Lookahead - better stability. New behaviour may require some parameter adjustment in existing content
  • Composer and Framing Transposer: improved handling at edge of hard zone (no juddering)
  • Orbital Transposer / FreeLook: improved damping when target is moving
  • CustomBlends editor UX improvements: allow direct editing of vcam names, as well as dropdown
  • Add Convert to TargetGroup option on LookAt and Follow target fields
  • Confiner: improved stability when ConfineScreenEdges is selected and confing shape is too small
  • Extensions now have PrePipelineMutateState callback
  • CinemachineCore.UniformDeltaTimeOverride works in Edit mode
  • Added TargetAttachment property to vcams. Normally 1, this can be used to relax attention to targets - effectively a damping override
  • Bugfix: Blend Update Method handling was incorrect and caused judder in some circumstances
  • Bugfix: VolumeSettings blending was popping when weight was epsilon if volume altered a non-lerpable value
  • Bugfix (1234813) - Check for deleted freelooks
  • Bugfix (1219867) - vcam popping on disable if blending
  • Bugfix (1214301, 1213836) - disallow structural change when editing vcam prefabs
  • Bugfix (1213471, 1213434): add null check in editor
  • Bugfix (1213488): no solo for prefab vcams
  • Bugfix (1213819): repaintGameView on editor change
  • Bugfix (1217306): target group position drifting when empty or when members are descendants of the group
  • Bugfix (1218695): Fully qualify UnityEditor.Menu to avoid compile errors in some circumstances
  • Bugfix (1222740): Binding Modes, that don't have control over axis value range, are not affected by it.
  • Bugfix (1227606): Timeline preview and playmode not the same for composer with hand-animated rotations
  • Bugfix: Confiner's cache is reset, when bounding shape/volume is changed.
  • Bugfix (1232146): Vcam no longer jerks at edge of confiner bound box.
  • Bugfix (1234966): CompositeCollider scale was applied twice.

[2.5.0] - 2020-01-15

Support HDRP 7 and URP simultaneously

  • Accommodate simultaneous precesnce of HDRP and URP
  • Regression fix: Axis was always recentered in Edit mode, even if recentering is off

[2.4.0] - 2020-01-10

HDRP 7 support and bugfixes

  • Storyboard: added global mute function
  • New vcams are by default created matching the scene view camera
  • Added ApplyBeforeBody option to POV component, to support working with FramingTransposer
  • Added RectenterTarget to POV component
  • Added OnTransitionFromCamera callback to extensions
  • Added Damping to SameAsFollowTarget and HardLockToTarget components
  • URP 7.1.3: added CinemachinePixelPerfect extension
  • Added Speed Mode to AxisState, to support direct axis control without max speed
  • New example scene: OverTheShoulderAim illustrating how to do over-the-shoulder TPS cam, with Normal and Aim modes
  • Impulse Manager: added option to ignore timescale
  • Framing Transposer: added OnTransition handling for camera rotation if InheritPosition
  • Upgrade to support HDRP and Universal RP 7.0.0 API
  • Upgrade to support HDRP and Universal RP 7.1.0 API
  • Removed Resources diretories
  • Sample scenes now available via package manager
  • Added optional "Display Name" field to Cinemachine Shot in Timeline
  • Added "Adopt Current Camera Settings" item to vcam inspector context menu
  • Composer and FramingTransposer: allow the dead zone to extend to 2, and the Screen x,Y can range from -0.5 to 1.5
  • HDRP: lens presets include physical settings if physical camera
  • Regression Fix: Framing Transposer: ignore LookAt target. Use Follow exclusively
  • Bugfix: Framing Transposer was not handling dynamic changes to FOV properly
  • Bugfix: PostProcessing extension was not handling standby update correctly when on Manager Vcams
  • Bugfix: PostProcessing extension was leaking a smallamounts of memory when scenes were unloaded
  • Bugfixes: (fogbugz 1193311, 1193307, 1192423, 1192414): disallow presets for vcams
  • Bugfix: In some heading modes, FreeLook was improperly modifying the axes when activated
  • Bugfix: Orbital transposer was improperly filtering the heading in TargetForward heading mode
  • Bugfix: added EmbeddedAssetHelper null check
  • Bugfix: composer screen guides drawn in correct place for physical camera
  • Bugfix: FreeLook was not respecting wait time for X axis recentering
  • Bugfix: FreeLook X axis was not always perfectly synched between rigs
  • Bugfix (fogbugz 1176866): Collider: clean up static RigidBody on exit
  • Bugfix (fogbugz 1174180): framing transposer wrong ortho size calculation
  • Bugfix (fogbugz 1158509): Split brain.UpdateMethod into VcamUpdateMethod and BrainUpdateMethod, to make blending work correctly
  • Bugfix (fogbugz 1162074): Framing transposer and group transposer only reached half maximum ortho size
  • Bugfix (fogbugz 1165599): Transposer: fix gimbal lock issue in LockToTargetWithWorldUp
  • Bugfix: VolumeSettings: handle layermask in HDAdditionalCameraData
  • Bugfix: use vcam's up when drawing gizmos (orbital transposer and free look)

[2.3.4] - 2019-05-22

PostProcessing V3 and bugfixes

  • Added support for PostProcessing V3 - now called CinemachineVolumeSttings
  • Added CinemachineCore.GetBlendOverride delegate to allow applications to override any vcam blend when it happens
  • When a blend is cancelled by the opposite blend, reduce the blend time
  • Orthographic cameras allow a Near Clip of 0
  • Timeline won't auto-create CM brains when something dragged onto it
  • Confiner: Improvement in automatic path invalidation when number of path points path changes
  • Added CinemachineInpuitAxisDriver utility for overriding the default AxisState behaviour
  • CinemachineCameraOffset: added customizable stage for when to apply the offset
  • Added Loop option to BlendList Camera
  • Improved Lookahead: does not automatically recenter
  • Brain no longer applies time scaling to fixed delta
  • Added dependency on Unity.ugui (2019.2 and up)
  • Bugfix: potential endless loop when using Ignore tag in Collider
  • Bugfix: Allow externally-driven FeeLook XAxis to work properly with SimpleFollow
  • Bugfix: vcams with noise would sometimes show one noiseless frame when they were activated and standby update was not Always
  • Bugfix: Generate a cut event if cutting to a blend-in-progess (fogbugz 1150847)
  • Bugfix: reset lens shift if not physical camera
  • Bugfix: Collider must consider actual target position, not lookahead position
  • Bugfix: FreeLook heading RecenterNow was not working
  • Bugfix: lookahead now takes the overridden Up into account
  • Bugfix: screen composer guides drawn in wrong place for picture-in-picture
  • Bugfix: FreeLook now draws only 1 active composer guide at a time (fogbugz 1138263)
  • Bugfix: cameras sometimes snapped when interrupting blends
  • Bugfix: Path handles no longer scale with the path object
  • Bugfix: Framing Transposer Center on Activate was not working properly (fogbugz 1129824)
  • Bugfix: FreeLook inherit position
  • Bugfix: collider was pushing camera too far if there were multiple overlapping obstacles
  • Bugfix: use IsAssignableFrom instead of IsSubclass in several places
  • Bugfix: when interrupting a blend in progress, Cut was not respected
  • Bugfix: collider minimum occlusion time and smoothing time interaction
  • Bugfix: TargetGroup.RemoveMember error (fogbugz 1119028)
  • Bugfix: TargetGroup member lerping jerk when member weight near 0
  • Bugfix: Transposer angular damping should be 0 only if binding mode not LockToTarget

[2.3.3] - 2019-01-08

Temporary patch to get around a Unity bug in conditional dependencies

  • Removed Cinemachine.Timeline namespace, as a workaround for fogbugz 1115321

[2.3.1] - 2019-01-07

Bugfixes

  • Added timeline dependency
  • OnTargetObjectWarped no longer generates garbage

[2.3.0] - 2018-12-20

Support for Unity 2019.1

  • Added dependency on new unity.timeline
  • Added conditional dependence on PostProcessingV2
  • No copying CM gizmo into assets folder
  • FreeLook: if inherit position from similar FreeLooks, bypass damping
  • Timeline: improve handling when vcam values are tweaked inside shot inspector (fogbugz 1109024)

[2.2.8] - 2018-12-10

Bugfixes, optimizations, and some experimental stuff

  • Transposer: added Angular Damping Mode, to support quaternion calculations in gimbal-lock situations
  • Framing Transposer and Group Transposer: group composing bugfixes, respect min/max limits
  • Added ConemachineCameraOffset extension, to offset the camera a fixed distance at the end of the pipeline
  • Dolly Cart: added support for LateUpdate
  • State-driven-camera: added [NoSaveDuringPlay] to Animated Target and Layer Index
  • Added AxisState.Recentering.RecenterNow() API call to skip wait time and start recentering now (if enabled)
  • Added NoLens blend hint, to leave camera Lens settings alone
  • Updated documentation (corrections, and relocation to prevent importing)
  • Upgrade: added support for nested prefabs in Unity 2018.3 (fogbugz 1077395)
  • Optimization: position predictor is more efficient
  • Optimization: Composer caches some calculations
  • Optimization: Fix editor slowdown when Lens Presets asset is missing
  • Experimental: Optional new damping algorithm: attempt to reduce sensitivity to variable framerate
  • Experimental: Optional new extra-efficient versions of vcam and FreeLook (not back-compatible)
  • Timeline: play/pause doesn't kick out the timeline vcam
  • Path editor: make sure game view gets updated when a path waypoint is dragged in the scene view
  • Composer guides are shown even if Camera is attached to a renderTexture
  • Bugfix: allow impulse definition to be a non-public field (property drawer was complaining)
  • Bugfix: added null check for when there is no active virtual camera
  • Bugfix: CollisionImpulseSource typo in detection of 2D collider
  • Bugfix: PasteComponentValues to prefab vcams and FreeLooks were corrupting scene and prefabs
  • Bugfix: Timeline mixer was glitching for single frames at the end of blends
  • Bugfix: Added OnTransitionFromCamera() to POV and OrbitalTransposer, to transition axes intelligently
  • Regression fix: if no active vcam, don't set the Camera's transform

[2.2.7] - 2018-07-24

Mostly bugfixes

  • Bugfix: fogbugz case 1053595: Cinemachine Collider leaves hidden collider at origin that interferes with scene objects
  • Bugfix: fogbugz case 1063754: empty target group produces console messages
  • Bugfix: FreeLook Paste Component Values now pastes the CM subcomponents as well
  • Bugfix: added extra null checks to support cases where current vcam is dynamically deleted
  • Bugfix: reset BlendList when enabled
  • Regression fix: FreeLook axis values get transferred when similar vcams transition
  • Bugfix: cutting to BlendList vcam sometimes produced a few bad frames
  • Bugfix: smart update tracks the targets more efficiently and correctly, and supports RigidBody interpolation (2018.2 and up)
  • Enhancement: POV component interprets POV as relative to parent transform if there is one
  • API change: OnCameraLive and CameraActivated events take outgoing vcam also as parameter (may be null)

[2.2.0] - 2018-06-18

Impulse Module and More

  • New Cinemachine Impulse module for event-driven camera shakes
  • New Event Helper script CinemachineTriggerAction takes action on Collider and Collider2D enter/exit events, and exposes them as UnityEvents
  • New performance-tuning feature: Standby Update. Controls how often to update the vcam when it's in Standby.
  • New NoiseSettings editor with signal preview
  • Added Focal Length or Named FOV presets for Camera Lens
  • Added support for Physical Camera: focal length and Lens Offset
  • New improved Group framing algorithm: tighter group framing in GroupComposer and FramingTransposer
  • Collider: now returns TargetIsObscured if the target is offscreen (great for cameras with fixed aim)
  • Collider: added Minimum Occlusion Time setting, to ignore fleeting obstructions
  • Collider: added Transparent Layers mask, to specify solid objects that don't obstruct view
  • Collider: damping will no longer take the camera through obstacles
  • Collider: Added separate damping setting for when target is being occluded vs when camera is being returned to its normal position
  • Collider: added Smoothing setting, to reduce camera jumpiness in environements with lots of obstacles
  • NoiseSettings: added checkbox for pure sine-wave instead of Perlin wave
  • If no LookAt target, PostProcessing FocusTracksTarget offset is relative to camera
  • TrackedDolly: Default up mode sets Up to World Up
  • Virtual Camera: New Transitions section in inspector that gives more control over blending:
    • Blend Hint provides some control over how the position and rotation are interpolated
    • Inherit Position checkbox to ensure smooth positional handoff from outgoing camera
    • OnCameraLive event gets fired when the camera activates. Useful for custom handlers.
  • Added ScreenSpaceAimWhenTargetsDiffer as a vcam blend hint. This influences what happens when blending between vcams with different LookAt targets
  • Increased stability of vcams with very small FOVs
  • Framing Transposer no longer requires LookAt to be null
  • LensSettings Aspect, Orthographic, IsPhysicalCamera, SensorSize properties no longer internal
  • Noise Profiles: don't magically create assets. Prompt user for filename and location of new or cloned profiles
  • Refactored interaction between timeline and CM brain, to improve handling of edge cases (fogbugz case 1048497)
  • Bugfix: StateDrivenCamera Editor was not finding states if target was OverrideController
  • Bugfix when dragging orbital transposer transform: take bias into account
  • Bugfix: SaveDuringPlay was not handling asset fields correctly - was sometimes crushing assets
  • Bugfix: SimpleFollow transposers were not initilizing their position correctly at game start
  • Bugfix: Timeline with CM shot was causing jitter in some FixedUpdate situations
  • Bugfix: Multiple brains with heterogeneous update methods were not behaving correctly. CM will now support this, but you must make sure that the brains have different layer masks.
  • Example scenes now include use of CinemachineTriggerAction script.

[2.1.13] - 2018-05-09

Removed dependency on nonexistant Timeline package, minor bugfixes

  • Bugfix: Custom Blends "Any to Any" was not working (regression)
  • Bugfix: Composer was sometimes getting wrong aspect if multiple brains with different aspect ratios
  • Bugfix: could not drag vcam transforms if multiple inspectors and one is hidden
  • Bugfix: Framing Transposer initializes in the wrong place - noticeable if dead zone

[2.1.12] - 2018-02-26

Storyboard, Bugfixes and other enhancements. Also some restructuring for Package Manager

  • Project restructure: Removed Base, Timeline, and PostFX folders from project root. PostProcessing code must now be manually imported from Cinemachine menu. No more dependencies on scripting defines.
  • New Storyboard extension, to display images over the vcams. Comes with a Waveform monitor window for color grading
  • New option to specify vcam position blend style: linear, spherical, or cylindrical, based on LookAt target
  • Added API to support seamless position warping of target objects: OnTargetObjectWarped().
  • Added support for custom blend curves
  • Lookahead: added Ignore Y Axis Movement option
  • Added support for cascading blends (i.e. blending from mid-blend looks better)
  • POV/Orbital/FreeLook axis: exposed Min, Max, and Wrap in the UI, for customized axis range
  • FreeLook: added Y Axis recentering
  • POV: Added recentering feature to both axes
  • Path: Added Normalized Path units option: 0 is start of path, 1 is end.
  • Path: added length display in inspector
  • Timeline Clip Editor: vcam sections are now collapsible
  • API enhancement: added Finalize to Pipeline stages, called even for manager-style vcams
  • Bugfix: PostProcessing V2 DoF blending works better
  • Bugfix: OrbitalTransposer works better with WorldUp overrides
  • Bugfix: Remove StateDrivenCamera "not playing a controller" warning
  • Bugfix: Handle exceptions thrown by assemblies that don't want to be introspected
  • Bugfix: vcams following physics objects incorrectly snapped to origin after exiting play mode
  • Bugfix: predictor now supports time pause
  • Bugfix: Moved StartCoroutine in Brain to OnEnable()
  • Bugfix: Collider was causing problems in Physics on Android platforms
  • Bugfix: dragging a vcam's position updtaes prefabs properly
  • Bugfix: All extension now respect the "enabled" checkbox
  • Bugfix: Undo for Extasion add will no longer generate null references

[2.1.10] - 2017-11-28

This is the first UPM release of Unity Package Cinemachine.

  • New Aim component: Same As Follow Target simply uses the same orientation as the Follow target
  • Perlin Noise component: added inspector UI to clone or locate existing Noise profiles, and to create new ones
  • Noise Presets were moved outside of the Examples folder
  • Example Assets are now included as embedded package, not imported by default
  • Bugfix: FreeLook with PositionDelta was not properly updating the heading
  • Bugfix: Transitioning between FreeLooks simetimes caused a short camera freeze
  • Bugfix: Added some null checks to FreeLook, to prevent error messages at build time

[2.1.9] - 2017-11-17

Initial version.

Version 2.1.9 cloned from private development repository, corresponding to package released on the asset store