Namespace Unity.Cinemachine
Classes
CameraPipelineAttribute
Attribute used by camera pipeline authoring components to indicate which stage of the pipeline they belong in.
CameraStateExtensions
Extension methods for CameraState.
ChildCameraPropertyAttribute
Attribute applied to a CinemachineVirtualCameraBase property to produce a child camera selector in the inspectoe.
Cinemachine3OrbitRig
Helpers for the 3-Orbit rig for the OrbitalFollow component
Cinemachine3rdPersonFollow
Third-person follower, with complex pivoting: horizontal about the origin, vertical about the shoulder.
CinemachineAutoFocus
This behaviour will drive the Camera focusDistance property. It can be used to hold focus onto a specific object, or (in HDRP) to auto-detect what is in front of the camera and focus on that.
Camera.focusDistance is only available in physical mode, and appropriate processing must be installed for it to have any visible effect.
This component's ScreenCenter mode is only available in HDRP projects, and in this mode the component cannot be dynamically added at runtime; it must be added in the editor.
CinemachineBasicMultiChannelPerlin
As a part of the Cinemachine Pipeline implementing the Noise stage, this component adds Perlin Noise to the Camera state, in the Correction channel of the CameraState.
The noise is created by using a predefined noise profile asset. This defines the shape of the noise over time. You can scale this in amplitude or in time, to produce a large family of different noises using the same profile.
CinemachineBlend
Describes a blend between 2 CinemachineCameras, and holds the current state of the blend.
CinemachineBlenderSettings
Asset that defines the rules for blending between Virtual Cameras.
CinemachineBrain
CinemachineBrain is the link between the Unity Camera and the Cinemachine Virtual Cameras in the scene. It monitors the priority stack to choose the current Virtual Camera, and blend with another if necessary. Finally and most importantly, it applies the Virtual Camera state to the attached Unity Camera.
The CinemachineBrain is also the place where rules for blending between virtual cameras are defined. Camera blending is an interpolation over time of one virtual camera position and state to another. If you think of virtual cameras as cameramen, then blending is a little like one cameraman smoothly passing the camera to another cameraman. You can specify the time over which to blend, as well as the blend curve shape. Note that a camera cut is just a zero-time blend.
CinemachineBrainEvents
This component will generate CinemachineBrain-specific events.
CinemachineCamera
This behaviour is intended to be attached to an empty GameObject, and it represents a Cinemachine Camera within the Unity scene.
The CinemachineCamera will animate its Transform according to the rules contained in its CinemachineComponent pipeline (Aim, Body, and Noise). When the CM camera is Live, the Unity camera will assume the position and orientation of the CinemachineCamera.
A CinemachineCamera is not a camera. Instead, it can be thought of as a camera controller, not unlike a cameraman. It can drive the Unity Camera and control its position, rotation, lens settings, and PostProcessing effects. Each CM Camera owns its own Cinemachine Component Pipeline, through which you can provide the instructions for procedurally tracking specific game objects. An empty procedural pipeline will result in a passive CinemachineCamera, which can be controlled in the same way as an ordinary GameObject.
A CinemachineCamera is very lightweight, and does no rendering of its own. It merely tracks interesting GameObjects, and positions itself accordingly. A typical game can have dozens of CinemachineCameras, each set up to follow a particular character or capture a particular event.
A CinemachineCamera can be in any of three states:
- Live: The CinemachineCamera is actively controlling the Unity Camera. The CinemachineCamera is tracking its targets and being updated every frame.
- Standby: The CinemachineCamera is tracking its targets and being updated every frame, but no Unity Camera is actively being controlled by it. This is the state of a CinemachineCamera that is enabled in the scene but perhaps at a lower priority than the Live CinemachineCamera.
- Disabled: The CinemachineCamera is present but disabled in the scene. It is not actively tracking its targets and so consumes no processing power. However, the CinemachineCamera can be made live from the Timeline.
The Unity Camera can be driven by any CinemachineCamera in the scene. The game logic can choose the CinemachineCamera to make live by manipulating the CM camerass enabled flags and/or its priority, based on game logic.
In order to be driven by a CinemachineCamera, the Unity Camera must have a CinemachineBrain behaviour, which will select the most eligible CinemachineCamera based on its priority or on other criteria, and will manage blending.
CinemachineCameraEvents
This component will generate camera-specific activation and deactivation events. Add it to a Cinemachine Camera.
CinemachineCameraManagerBase
This is a virtual camera "manager" that owns and manages a collection of child Cm Cameras.
CinemachineCameraManagerEvents
This component will generate mixer-specific events.
CinemachineCameraOffset
An add-on module for Cm Camera that adds a final offset to the camera
CinemachineClearShot
Cinemachine ClearShot is a "manager camera" that owns and manages a set of Virtual Camera gameObject children. When Live, the ClearShot will check the children, and choose the one with the best quality shot and make it Live.
This can be a very powerful tool. If the child cameras have shot evaluator extensions, they will analyze the scene for target obstructions, optimal target distance, and other items, and report their assessment of shot quality back to the ClearShot parent, who will then choose the best one. You can use this to set up complex multi-camera coverage of a scene, and be assured that a clear shot of the target will always be available.
If multiple child cameras have the same shot quality, the one with the highest priority will be chosen.
You can also define custom blends between the ClearShot children.
CinemachineCollisionImpulseSource
If Physics or Physics 2D is part of the project, this would generate inpulse events.
CinemachineComponentBase
An abstract representation of a mutator acting on a CinemachineCamera
CinemachineComposer
This is a deprecated component. Use CinemachineRotationComposer instead.
CinemachineCore
A singleton that manages complete lists of CinemachineBrain and, CinemachineCamera, and the priority queue. Provides services to keeping track of whether CinemachineCameras have been updated each frame.
CinemachineCore.BlendEvent
An Event with BlendEventParams as parameter.
CinemachineCore.BrainEvent
An Event with CinemachineBrain as parameter.
CinemachineCore.CameraEvent
An event with ICinemachineMixer and ICinemachineCamera parameters.
CinemachineDoNotUpgrade
Empty tag for the CM3 project upgrader. Object with this behaviour will not be upgraded.
CinemachineDollyCart
This is a deprecated component. Use CinemachineSplineCart instead.
CinemachineEmbeddedAssetPropertyAttribute
Used for custom drawing in the inspector. Inspector will show a foldout with the asset contents
CinemachineExtension
Base class for a CinemachineCamera extension module. Hooks into the Cinemachine Pipeline. Use this to add extra processing to the vcam, modifying its generated state
CinemachineExtension.VcamExtraStateBase
Extensions that need to save per-vcam state should inherit from this class and add appropriate member variables. Use GetExtraState() to access.
CinemachineExternalCamera
This component will expose a non-cinemachine camera to the cinemachine system, allowing it to participate in blends. Just add it as a component alongside an existing Unity Camera component.
CinemachineExternalImpulseListener
This behaviour can be attached to any object to make it shake in response to Impulses.
This behaviour can be attached to the main Camera with the CinemachineBrain, to allow the main camera to shake without putting Listeners on the virtual cameras. In this case, camera shake is not dependent on the active virtual camera.
It is also possible to put this behaviour on other scene objects to shake them in response to impulses.
CinemachineFixedSignal
A definition of an impulse signal that gets propagated to listeners
CinemachineFollow
This is a CinemachineComponent in the Body section of the component pipeline. Its job is to position the camera in a fixed relationship to the vcam's Tracking Target object, with offsets and damping.
This component will only change the camera's position in space. It will not re-orient or otherwise aim the camera. To to that, you need to instruct the camera in the Aim section of its pipeline.
CinemachineFollowZoom
An add-on module for Cm Camera that adjusts the FOV of the lens to keep the target object at a constant size on the screen, regardless of camera and target position.
CinemachineFramingTransposer
This is a deprecated component. Use CinemachinePositionComposer instead.
CinemachineFreeLook
This is a deprecated component. Use CinemachineCamera instead.
CinemachineFreeLookModifier
This is an add-on for CinemachineCameras containing the OrbitalFollow component. It modifies the camera distance as a function of vertical angle.
CinemachineFreeLookModifier.ComponentModifier<T>
Modifier for things inside a single CinemachineComponentBase.
CinemachineFreeLookModifier.CompositionModifier
Builtin Freelook modifier for screen composition. Modifies composition at the start of the camera pipeline.
CinemachineFreeLookModifier.DistanceModifier
Builtin FreeLook modifier for camera distance. Applies distance to the camera at the start of the camera pipeline.
CinemachineFreeLookModifier.LensModifier
Builtin modifier for camera lens. Applies the lens at the start of the camera pipeline.
CinemachineFreeLookModifier.Modifier
Interface for an object that will modify some aspect of a FreeLook camera based on the vertical axis value.
CinemachineFreeLookModifier.NoiseModifier
Builtin modifier for noise components such as CinemachineBasicMultiChannelPerlin.
Applies scaling to amplitude and frequency.
CinemachineFreeLookModifier.PositionDampingModifier
Builtin FreeLook modifier for positional damping. Modifies positional damping at the start of the camera pipeline.
CinemachineFreeLookModifier.TiltModifier
Builtin FreeLook modifier for camera tilt. Applies a vertical rotation to the camera at the end of the camera pipeline.
CinemachineGroupComposer
This is a deprecated component. Use CinemachineRotationComposer and CinemachineGroupFraming instead.
CinemachineGroupFraming
An add-on module for Cinemachine Camera that adjusts the framing if the tracking target implements ICinemachineTargetGroup.
An attempt will be made to fit the entire target group within the specified framing. Camera position and/or rotation may be adjusted, depending on the settings.
CinemachineHardLockToTarget
This is a CinemachineComponent in the Aim section of the component pipeline. Its job is to place the camera on the Follow Target.
CinemachineHardLookAt
This is a CinemachineComponent in the Aim section of the component pipeline. Its job is to aim the camera hard at the LookAt target.
CinemachineImpulseChannelPropertyAttribute
Property applied to CinemachineImpulseManager Channels. Used for custom drawing in the inspector.
CinemachineImpulseDefinition
Definition of an impulse signal that gets propagated to listeners.
Here you provide a Raw Signal source, and define an envelope for time-scaling it to craft the complete Impulse signal shape. Also, you provide here parameters that define how the signal dissipates with spatial distance from the source location. Finally, you specify the Impulse Channel on which the signal will be sent.
An API method is provided here to take these parameters, create an Impulse Event, and broadcast it on the channel.
When creating a custom Impulse Source class, you will have an instance of this class as a field in your custom class. Be sure also to include the [CinemachineImpulseDefinition] attribute on the field, to get the right property drawer for it.
CinemachineImpulseListener
An extension for CinemachineCamera which post-processes the final position of the camera. It listens for CinemachineImpulse signals on the specified channels, and moves the camera in response to them.
CinemachineImpulseManager
This is a singleton object that manages all Impulse Events generated by the Cinemachine Impulse module. This singleton owns and manages all ImpulseEvent objects.
CinemachineImpulseManager.ImpulseEvent
Describes an event that generates an impulse signal on one or more channels. The event has a location in space, a start time, a duration, and a signal. The signal will dissipate as the distance from the event location increases.
CinemachineImpulseSource
An event-driven class that broadcasts an impulse signal to listeners.
This is the base class for custom impulse sources. It contains an impulse definition, where the characteristics of the impulse signal are defined.
API methods are provided for actually broadcasting the impulse. Call these methods from your custom code, or hook them up to game events in the Editor.
CinemachineInputAxisController
This is a behaviour that is used to drive other behaviours that implement IInputAxisOwner, which it discovers dynamically. It is the bridge between the input system and Cinemachine cameras that require user input. Add it to a Cinemachine camera that needs it.
This implementation can read input from the Input package, or from the legacy input system, or both, depending on what is installed in the project.
CinemachineInputAxisController.Reader
Read an input value from legacy input or from and Input Action
CinemachineInputProvider
This is an add-on to override the legacy input system and read input using the UnityEngine.Input package API. Add this behaviour to any CinemachineVirtualCamera or FreeLook that requires user input, and drag in the the desired actions. If the Input System Package is not installed, then this behaviour does nothing.
CinemachineInputProviderExtensions
IInputAxisProvider is deprecated. Use InputAxis and InputAxisController instead.
CinemachineLegacyCameraEvents
This is a deprecated component. Use CinemachineCameraEvents instead.
CinemachineLegacyCameraEvents.OnCameraLiveEvent
This event is fired when a virtual camera is activated. If a blend is involved, it will be fired at the start of the blend.
Parameter ordering is: incomingCam, outgoingCam.
CinemachineMixerEventsBase
This is a base class for components that will generate mixer-specific events.
CinemachineMixingCamera
CinemachineMixingCamera is a "manager camera" that takes on the state of the weighted average of the states of its child virtual cameras.
A fixed number of slots are made available for cameras, rather than a dynamic array. We do it this way in order to support weight animation from the Timeline. Timeline cannot animate array elements.
CinemachineOrbitalFollow
This is a CinemachineComponent in the the Body section of the component pipeline. Its job is to position the camera somewhere on a spheroid centered at the Follow target.
The position on the sphere and the radius of the sphere can be controlled by user input.
CinemachineOrbitalTransposer
This is a deprecated component. Use CinemachineOrbitalFollow instead.
CinemachinePOV
This is a deprecated component. Use CinemachinePanTilt instead.
CinemachinePanTilt
This is a CinemachineComponent in the Aim section of the component pipeline. Its job is to aim the camera in response to the user's mouse or joystick input.
This component does not change the camera's position.
CinemachinePath
This is a deprecated component. Use SplineContainer instead.
CinemachinePathBase
This is a deprecated component. Use SplineContainer instead.
CinemachinePathBase.Appearance
This class holds the settings that control how the path will appear in the editor scene view. The path is not visible in the game view
CinemachinePipeline
This is a deprecated component.
CinemachinePixelPerfect
An add-on module for CinemachineCamera Camera that tweaks the orthographic size of the camera. It detects the presence of the Pixel Perfect Camera component and use the settings from that Pixel Perfect Camera to correct the orthographic size so that pixel art sprites would appear pixel perfect when the camera becomes live.
CinemachinePositionComposer
This is a Cinemachine Component in the Body section of the component pipeline. Its job is to position the camera in a fixed screen-space relationship to the camera's Tracking target object, with offsets and damping.
The camera will be first moved along the camera Z axis until the target is at the desired distance from the camera's X-Y plane. The camera will then be moved in its XY plane until the target is at the desired point on the camera's screen.
The Position Composer will only change the camera's position in space. It will not re-orient or otherwise aim the camera.
For this component to work properly, the camera's tracking target must not be null. The tracking target will define what the camera is looking at.
CinemachineRecomposer
An add-on module for Cm Camera that adds a final tweak to the camera composition. It is intended for use in a Timeline context, where you want to hand-adjust the output of procedural or recorded camera aiming.
CinemachineRotationComposer
This is a CinemachineComponent in the Aim section of the component pipeline. Its job is to aim the camera at the vcam's LookAt target object, with configurable offsets, damping, and composition rules.
The composer does not change the camera's position. It will only pan and tilt the camera where it is, in order to get the desired framing. To move the camera, you have to use the virtual camera's Body section.
CinemachineSameAsFollowTarget
This is a CinemachineComponent in the Aim section of the component pipeline. Its job is to match the orientation of the Follow target.
CinemachineSequencerCamera
This is a virtual camera "manager" that owns and manages a collection of child Virtual Cameras. When the camera goes live, these child vcams are enabled, one after another, holding each camera for a designated time. Blends between cameras are specified. The last camera is held indefinitely, unless the Loop flag is enabled.
CinemachineSmoothPath
This is a deprecated component. Use SplineContainer instead.
CinemachineSplineCart
This is a very simple behaviour that constrains its transform to a Spline.
It can be used to animate any objects along a path, or as a tracking target for
Cinemachine Cameras.
CinemachineSplineDolly
A Cinemachine Camera Body component that constrains camera motion to a Spline. The camera can move along the spline.
This behaviour can operate in two modes: manual positioning, and Auto-Dolly positioning. In Manual mode, the camera's position is specified by animating the Spline Position field. In Auto-Dolly mode, the Spline Position field is animated automatically every frame by finding the position on the spline that's closest to the camera's tracking target.
CinemachineSplineRoll
Extension that can be added to a SplineContainer or a vcam that uses a SplineContainer, for example a vcam that has SplineDolly as Body component.
- When CinemachineSplineRoll is added to a gameObject that has SplineContainer, then the roll affects any vcam that reads that SplineContainer globally.
- When CinemachineSplineRoll is added to a vcam, then roll only affects that vcam locally.
CinemachineTargetGroup
Defines a group of target objects, each with a radius and a weight. The weight is used when calculating the average position of the target group. Higher-weighted members of the group will count more. The bounding box is calculated by taking the member positions, weight, and radii into account.
CinemachineTargetGroup.Target
Holds the information that represents a member of the group
CinemachineThirdPersonFollow
Third-person follower, with complex pivoting: horizontal about the origin, vertical about the shoulder.
CinemachineTouchInputMapper
This is an add-on behaviour that globally maps the touch control to standard input channels, such as mouse X and mouse Y. Drop it on any game object in your scene.
CinemachineTrackedDolly
This is a deprecated component. Use CinemachineSplineDolly instead.
CinemachineTransposer
This is a deprecated component. Use CinemachineOrbitalFollow instead.
CinemachineVirtualCamera
This is a deprecated component. Use CinemachineCamera instead.
CinemachineVirtualCameraBase
Base class for a Monobehaviour that represents a Virtual Camera within the Unity scene.
This is intended to be attached to an empty Transform GameObject. Inherited classes can be either standalone virtual cameras such as CinemachineCamera, or meta-cameras such as CinemachineClearShot or CinemachineBlendListCamera.
A CinemachineVirtualCameraBase exposes an OutputChannel property. When the behaviour is enabled in the game, the Virtual Camera is automatically placed in a queue maintained by the static CinemachineCore singleton. The queue is sorted by priority. When a Unity camera is equipped with a CinemachineBrain behaviour, the brain will choose the camera at the head of the queue. If you have multiple Unity cameras with CinemachineBrain behaviours (say in a split-screen context), then you can filter the queue by setting the culling flags on the virtual cameras. The culling mask of the Unity Camera will then act as a filter for the brain. Apart from this, there is nothing that prevents a virtual camera from controlling multiple Unity cameras simultaneously.
Damper
Utility to perform realistic damping of float or Vector3 values. The algorithm is based on exponentially decaying the delta until only a negligible amount remains.
EmbeddedBlenderSettingsPropertyAttribute
Draws BlenderSettings asset embedded within the inspector.
EnabledPropertyAttribute
Draw a FoldoutWithEnabledButtonAttribute on a single line
FoldoutWithEnabledButtonAttribute
Draw a foldout with an Enabled toggle that shadows a field inside the foldout
GroupWeightManipulator
A class to get around the limitation in timeline that array members can't be animated.
A fixed number of slots are made available, rather than a dynamic array.
If you want to add more slots, just modify this code.
HeadingTracker
Tracks an object's velocity with a filter to determine a reasonably steady direction for the object's current trajectory.
HideFoldoutAttribute
Suppresses the top-level foldout on a complex property
HideIfNoComponentAttribute
Hide this property if a component of a given type is not present
ICinemachineCamera.ActivationEvent
Event that is fired when a Cinemachine camera is activated.
InputAxisControllerBase<T>
This is a base class for a behaviour that is used to drive IInputAxisOwner behaviours, which it discovers dynamically. It is the bridge between the input system and Cinemachine cameras that require user input. Add it to a Cinemachine camera that needs it. If you want to read inputs from a third-party source, then you must specialize this class with an appropriate implementation of IInputAxisReader.
InputAxisControllerBase<T>.Controller
Each discovered axis will get a Controller to drive it in Update().
InputAxisNamePropertyAttribute
Property applied to legacy input axis name specification. Used for custom drawing in the inspector.
LensSettingsHideModeOverridePropertyAttribute
Property applied to LensSetting properties.
Will cause the property drawer to hide the ModeOverride setting.
MinMaxRangeSliderAttribute
Property applied to int or float fields to generate a minmax range slider in the inspector.
NestedBlendSource
Blend result source for blending. This exposes a CinemachineBlend object as an ersatz virtual camera for the purposes of blending. This achieves the purpose of blending the result oif a blend.
NoSaveDuringPlayAttribute
Suppresses play-mode-save for a field. Use it if the calsee has [SaveDuringPlay] attribute but there are fields in the class that shouldn't be saved.
NoiseSettings
This is an asset that defines a noise profile. A noise profile is the shape of the noise signal as a function of time. You can build arbitrarily complex shapes by combining different base perlin noise frequencies at different amplitudes.
The frequencies and amplitudes should be chosen with care, to ensure an interesting noise quality that is not obviously repetitive.
As a mathematical side-note, any arbitrary periodic curve can be broken down into a series of fixed-amplitude sine-waves added together. This is called fourier decomposition, and is the basis of much signal processing. It doesn't really have much to do with this asset, but it's super interesting!
RangeSliderAttribute
Property applied to int or float fields to generate a slider in the inspector.
RuntimeUtility
An ad-hoc collection of helpers, used by Cinemachine or its editor tools in various places
SaveDuringPlayAttribute
Invoke play-mode-save for a class. This class's fields will be scanned upon exiting play mode, and its property values will be applied to the scene object. This is a stopgap measure that will become obsolete once Unity implements play-mode-save in a more general way.
SensorSizePropertyAttribute
Property to display a SensorSize field
SignalSourceAsset
This is an asset that defines a 6D signal that can be retrieved in a random-access fashion. This is used by the Cinemachine Impulse module.
SplineAutoDolly.FixedSpeed
ISplineAutoDolly implementation that moves the object at a constant speed align the spline.
SplineAutoDolly.NearestPointToTarget
ISplineAutoDolly implementation that finds the point on th spline closest to the target. Note that this is a simple stateless algorithm, and is not appropriate for all spline shapes. For example, if the spline is forming an arc and the target is inside the arc, then the closest point can be noisy or undefined. Consider for example a spline that is perfectly circular with the target at the center. Where is the closest point?
TagFieldAttribute
Property field is a Tag.
UnityQuaternionExtensions
Extensions to the Quaternion class, used in various places by Cinemachine
UnityRectExtensions
Ad-hoc extensions to the Rect structure, used by Cinemachine
UnityVectorExtensions
Extensions to the Vector3 class, used by Cinemachine
VcamTargetPropertyAttribute
Property applied to Vcam Target fields. Used for custom drawing in the inspector.
Vector2AsRangeAttribute
Property applied to Vector2 to treat (x, y) as (min, max). Used for custom drawing in the inspector.
Structs
AxisBase
This is a deprecated component. Use InputAxis instead.
AxisState
AxisState is deprecated. Use InputAxis instead.
AxisState.Recentering
Helper for automatic axis recentering
CameraState
The output of the Cinemachine engine for a specific virtual camera. The information in this struct can be blended, and provides what is needed to calculate an appropriate camera position, orientation, and lens setting.
Raw values are what the Cinemachine behaviours generate. The correction channel holds perturbations to the raw values - e.g. noise or smoothing, or obstacle avoidance corrections. Corrections are not considered when making time-based calculations such as damping.
The Final position and orientation is the combination of the raw values and their corrections.
CameraState.CustomBlendableItems
Custom Blendables are a way to attach opaque custom data to a CameraState and have their weights blend along with the camera weights. For efficiency, a fixed number of slots are provided, plus a (more expensive) overflow list. The base system manages but otherwise ignores this data - it is intended for extension modules.
CameraState.CustomBlendableItems.Item
Opaque structure represent extra blendable stuff and its weight. The base system ignores this data - it is intended for extension modules
CameraTarget
Structure for holding the procedural motion targets for a CinemachineCamera. The main TrackingTarget is used by default for all object tracking. Optionally, a second LookAt target can be provided to make the camera follow one object while pointing at another.
Cinemachine3OrbitRig.Orbit
Defines the height and radius for an orbit
Cinemachine3OrbitRig.Settings
Settings to define the 3-orbit FreeLook rig using OrbitalFollow.
CinemachineBlendDefinition
Definition of a Camera blend. This struct holds the information necessary to generate a suitable AnimationCurve for a Cinemachine Blend.
CinemachineBlenderSettings.CustomBlend
Container specifying how two specific CinemachineCameras blend together.
CinemachineBrain.LensModeOverrideSettings
Defines the settings for Lens Mode overriding
CinemachineCameraManagerBase.DefaultTargetSettings
If enabled, a default target will be available. It will be used if a child rig needs a target and doesn't specify one itself.
CinemachineCore.BlendEventParams
This is sent with BlendEvent
CinemachineFreeLook.Orbit
Defines the height and radius of the Rig orbit
CinemachineFreeLookModifier.NoiseModifier.NoiseSettings
Settings to apply to the IModifiableNoise component
CinemachineFreeLookModifier.TopBottomRigs<T>
Helper struct to hold settings for Top, Middle, and Bottom orbits.
CinemachineImpulseListener.ImpulseReaction
This controls the secondary reaction of the listener to the incoming impulse.
The impulse might be for example a sharp shock, and the secondary reaction could
be a vibration whose amplitude and duration is controlled by the size of the
original impulse. This allows different listeners to respond in different ways
to the same impulse signal.
CinemachineImpulseManager.EnvelopeDefinition
This defines the time-envelope of the signal. The raw signal will be scaled to fit inside the envelope.
CinemachineInputAxisDriver
This is a deprecated component. Use DefaultInputAxisDriver instead.
CinemachineOrbitalTransposer.Heading
How the "forward" direction is defined. Orbital offset is in relation to the forward direction.
CinemachinePath.Waypoint
A waypoint along the path
CinemachineSequencerCamera.Instruction
This represents a single entry in the instruction list of the BlendListCamera.
CinemachineSmoothPath.Waypoint
A waypoint along the path
CinemachineSplineDolly.DampingSettings
Settings for controlling damping
CinemachineTrackedDolly.AutoDolly
Controls how automatic dollying occurs
DefaultInputAxisDriver
This object drives an input axis.
It reads raw input, applies it to the axis value, with acceleration and deceleration.
ICinemachineCamera.ActivationEventParams
This is sent with ActivationEvent
IInputAxisOwner.AxisDescriptor
Describes an axis for an axis driver
InputAxis
Defines an input axis. This is a field that can take on any value in a range, with optional wrapping to form a loop.
InputAxis.RecenteringSettings
Defines the settings for automatic re-centering
LegacyLensSettings
Used to read in CM2 LensSettings
LensSettings
Describes the FOV and clip planes for a camera. This generally mirrors the Unity Camera's lens settings, and will be used to drive the Unity camera when the vcam is active.
LensSettings.PhysicalSettings
These are settings that are used only if IsPhysicalCamera is true.
LookaheadSettings
This structure holds settings for procedural lookahead.
NoiseSettings.NoiseParams
Describes the behaviour for a channel of noise
NoiseSettings.TransformNoiseParams
Contains the behaviour of noise for the noise module for all 3 cardinal axes of the camera
PositionPredictor
This is a utility to implement position predicting.
PrioritySettings
Structure for holding the priority of a camera.
ScreenComposerSettings
This structure holds settings for screen-space composition.
ScreenComposerSettings.DeadZoneSettings
Settings for DeadZone, which is an area within which the camera will not adjust itself.
ScreenComposerSettings.HardLimitSettings
The target will not be allowed to be outside this region. When the target is within this region, the camera will gradually adjust to re-align towards the desired position, depending on the damping speed
SplineAutoDolly
This structure holds the object that implements AutoDolly on a spline.
Interfaces
AxisState.IInputAxisProvider
This is an interface to override default querying of Unity's legacy Input system. If a befaviour implementing this interface is attached to a CinemachineCamera that requires input, that interface will be polled for input instead of the standard Input system.
AxisState.IRequiresInput
IRequiresInput is deprecated. Use InputAxis and InputAxisController instead.
CinemachineBlend.IBlender
Interface for implementing custom CameraState blending algorithm
CinemachineFreeLookModifier.IModifiableComposition
Interface for CinemachineComponentBase-derived to allow its screen composition to be driven
CinemachineFreeLookModifier.IModifiableDistance
Interface for CinemachineComponentBase-derived to allow the camera distance to be modified
CinemachineFreeLookModifier.IModifiableNoise
Interface for CinemachineComponentBase-derived to allow the noise amplitude and frequency to be modified
CinemachineFreeLookModifier.IModifiablePositionDamping
Interface for CinemachineComponentBase-derived to allow its position damping to be driven.
CinemachineFreeLookModifier.IModifierValueSource
Interface for CinemachineComponentBase-derived to expose a normalized value that can be consumed by CinemachineFreeLookModifier to drive the rig selection.
ICameraOverrideStack
This interface provides a way to override camera selection logic. The cinemachine timeline track drives its target via this interface.
ICinemachineCamera
An abstract representation of a virtual camera which lives within the Unity scene
ICinemachineMixer
This is a ICinemachineCamera that can own child ICinemachineCameras. ICinemachineCamera nesting is defined using this interface.
ICinemachineTargetGroup
Interface representing something that can be used as a vcam target.
It has a transform, a bounding box, and a bounding sphere.
IInputAxisController
This interface identifies a behaviour that can drive IInputAxisOwners.
IInputAxisOwner
Components that hold InputAxisValue structs must implement this interface to be discoverable.
IInputAxisReader
Abstraction for reading the value of an input axis
IInputAxisResetSource
Components that can generate an input axis reset must implement this interface.
IShotQualityEvaluator
An abstract representation of a component that evaluates shot quality. Component (usually a CinemachineExtension) is expected to set state.ShotQuality late in the camera pipeline (after Aim).
ISignalSource6D
Interface for raw signal provider
SplineAutoDolly.ISplineAutoDolly
Interface for procedural spline dolly. Implement this to provide a custom algorithm for choosing a point on the path.
Enums
AxisState.SpeedMode
How to interpret the Max Speed setting.
CameraState.BlendHints
These hints can be or'ed together to influence how blending is done, and how state is applied to the camera
CinemachineAutoFocus.FocusTrackingMode
The reference object for focus tracking
CinemachineBlendDefinition.Styles
Supported predefined shapes for the blend curve.
CinemachineBrain.BrainUpdateMethods
This enum defines the options available for the update method.
CinemachineBrain.UpdateMethods
This enum defines the options available for the update method.
CinemachineCore.BlendHints
Hint for transitioning to and from Cinemachine cameras
CinemachineCore.Stage
Stages in the Cinemachine Component pipeline. This enum defines the pipeline order.
CinemachineDollyCart.UpdateMethod
This enum defines the options available for the update method.
CinemachineFramingTransposer.AdjustmentMode
How to adjust the camera to get the desired framing
CinemachineFramingTransposer.FramingMode
What screen dimensions to consider when framing
CinemachineGroupComposer.AdjustmentMode
How to adjust the camera to get the desired framing
CinemachineGroupComposer.FramingMode
What screen dimensions to consider when framing
CinemachineGroupFraming.FramingModes
What screen dimensions to consider when framing
CinemachineGroupFraming.LateralAdjustmentModes
How to adjust the camera to get the desired horizontal and vertical framing
CinemachineGroupFraming.SizeAdjustmentModes
How to adjust the camera to get the desired framing size
CinemachineImpulseDefinition.ImpulseShapes
Supported predefined shapes for the impulses.
CinemachineImpulseDefinition.ImpulseTypes
This enum represents the various ways an impulse can travel through space
CinemachineImpulseDefinition.RepeatModes
Legacy mode only: How to fit the signal into the envelope time
CinemachineImpulseManager.ImpulseEvent.DirectionModes
How the signal behaves as the listener moves away from the origin.
CinemachineImpulseManager.ImpulseEvent.DissipationModes
How the signal dissipates with distance.
CinemachineOrbitalFollow.OrbitStyles
How to construct the surface on which the camera will travel
CinemachineOrbitalFollow.ReferenceFrames
Defines the reference frame in which horizontal recentering is done.
CinemachineOrbitalTransposer.Heading.HeadingDefinition
Sets the algorithm for determining the target's heading for purposes of re-centering the camera
CinemachinePOV.RecenterTargetMode
Defines the recentering target: Recentering goes here
CinemachinePanTilt.ReferenceFrames
Defines the reference frame against which pan and tilt rotations are made.
CinemachinePathBase.PositionUnits
How to interpret the Path Position
CinemachineSplineCart.UpdateMethods
This enum defines the options available for the update method.
CinemachineSplineDolly.RotationMode
Different ways to set the camera's up vector
CinemachineTargetGroup.PositionModes
How the group's position is calculated
CinemachineTargetGroup.RotationModes
How the group's orientation is calculated
CinemachineTargetGroup.UpdateMethods
This enum defines the options available for the update method.
CinemachineTrackedDolly.CameraUpMode
Different ways to set the camera's up vector
CinemachineVirtualCameraBase.StandbyUpdateMode
How often to update a virtual camera when it is in Standby mode
IInputAxisOwner.AxisDescriptor.Hints
This provides a hint about the intended usage of the axis.
InputAxis.RestrictionFlags
Some usages require restricted functionality.
The possible restrictions are defined here.
LensSettings.OverrideModes
This enum controls how the Camera settings are driven. Some settings can be pulled from the main camera, or pushed to it, depending on these values.
OutputChannels
The CinemachineCamera will drive all CinemachineBrains that include one or more of its channels within its channel mask.
Delegates
CinemachineBlendDefinition.LookupBlendDelegate
Delegate for finding a blend definition to use when blending between 2 cameras.
CinemachineCore.AxisInputDelegate
Delegate for overriding Unity's default input system. Returns the value of the named axis.
CinemachineCore.GetBlendOverrideDelegate
Delegate for overriding a blend that is about to be applied to a transition. A handler can either return the default blend, or a new blend definition specific to current conditions.
CinemachineCore.GetCustomBlenderDelegate
Delegate for replacing a standard CinemachineBlend with a custom blender class. Return a new instance of a custom blender, or null to use the default blender.
CinemachineFreeLook.CreateRigDelegate
Override component pipeline creation. This needs to be done by the editor to support Undo. The override must do exactly the same thing as the CreatePipeline method in this class.
CinemachineFreeLook.DestroyRigDelegate
Override component pipeline destruction. This needs to be done by the editor to support Undo.
CinemachineVirtualCamera.CreatePipelineDelegate
Override component pipeline creation. This needs to be done by the editor to support Undo. The override must do exactly the same thing as the CreatePipeline method in the CinemachineVirtualCamera class.
CinemachineVirtualCamera.DestroyPipelineDelegate
Override component pipeline destruction. This needs to be done by the editor to support Undo.
IInputAxisOwner.AxisDescriptor.AxisGetter
Delegate to get a reference to the axis being driven