docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Class CinemachineVirtualCamera

    This is a deprecated component. Use CinemachineCamera instead.

    Inheritance
    object
    Object
    Component
    Behaviour
    MonoBehaviour
    CinemachineVirtualCameraBase
    CinemachineVirtualCamera
    Implements
    ICinemachineCamera
    AxisState.IRequiresInput
    Inherited Members
    CinemachineVirtualCameraBase.Priority
    CinemachineVirtualCameraBase.OutputChannel
    CinemachineVirtualCameraBase.FollowTargetAttachment
    CinemachineVirtualCameraBase.LookAtTargetAttachment
    CinemachineVirtualCameraBase.StandbyUpdate
    CinemachineVirtualCameraBase.DetachedFollowTargetDamp(float, float, float)
    CinemachineVirtualCameraBase.DetachedFollowTargetDamp(Vector3, Vector3, float)
    CinemachineVirtualCameraBase.DetachedFollowTargetDamp(Vector3, float, float)
    CinemachineVirtualCameraBase.DetachedLookAtTargetDamp(float, float, float)
    CinemachineVirtualCameraBase.DetachedLookAtTargetDamp(Vector3, Vector3, float)
    CinemachineVirtualCameraBase.DetachedLookAtTargetDamp(Vector3, float, float)
    CinemachineVirtualCameraBase.InvokePostPipelineStageCallback(CinemachineVirtualCameraBase, CinemachineCore.Stage, ref CameraState, float)
    CinemachineVirtualCameraBase.InvokePrePipelineMutateCameraStateCallback(CinemachineVirtualCameraBase, ref CameraState, float)
    CinemachineVirtualCameraBase.InvokeOnTransitionInExtensions(ICinemachineCamera, Vector3, float)
    CinemachineVirtualCameraBase.Name
    CinemachineVirtualCameraBase.Description
    CinemachineVirtualCameraBase.IsValid
    CinemachineVirtualCameraBase.ParentCamera
    CinemachineVirtualCameraBase.PreviousStateIsValid
    CinemachineVirtualCameraBase.UpdateCameraState(Vector3, float)
    CinemachineVirtualCameraBase.OnCameraActivated(ICinemachineCamera.ActivationEventParams)
    CinemachineVirtualCameraBase.OnTransformParentChanged()
    CinemachineVirtualCameraBase.Start()
    CinemachineVirtualCameraBase.OnDisable()
    CinemachineVirtualCameraBase.Update()
    CinemachineVirtualCameraBase.ResolveLookAt(Transform)
    CinemachineVirtualCameraBase.ResolveFollow(Transform)
    CinemachineVirtualCameraBase.MoveToTopOfPrioritySubqueue()
    CinemachineVirtualCameraBase.Prioritize()
    CinemachineVirtualCameraBase.PullStateFromVirtualCamera(Vector3, ref LensSettings)
    CinemachineVirtualCameraBase.FollowTargetChanged
    CinemachineVirtualCameraBase.LookAtTargetChanged
    CinemachineVirtualCameraBase.UpdateTargetCache()
    CinemachineVirtualCameraBase.FollowTargetAsGroup
    CinemachineVirtualCameraBase.FollowTargetAsVcam
    CinemachineVirtualCameraBase.LookAtTargetAsGroup
    CinemachineVirtualCameraBase.LookAtTargetAsVcam
    CinemachineVirtualCameraBase.IsLive
    CinemachineVirtualCameraBase.IsParticipatingInBlend()
    CinemachineVirtualCameraBase.CancelDamping(bool)
    MonoBehaviour.IsInvoking()
    MonoBehaviour.CancelInvoke()
    MonoBehaviour.Invoke(string, float)
    MonoBehaviour.InvokeRepeating(string, float, float)
    MonoBehaviour.CancelInvoke(string)
    MonoBehaviour.IsInvoking(string)
    MonoBehaviour.StartCoroutine(string)
    MonoBehaviour.StartCoroutine(string, object)
    MonoBehaviour.StartCoroutine(IEnumerator)
    MonoBehaviour.StartCoroutine_Auto(IEnumerator)
    MonoBehaviour.StopCoroutine(IEnumerator)
    MonoBehaviour.StopCoroutine(Coroutine)
    MonoBehaviour.StopCoroutine(string)
    MonoBehaviour.StopAllCoroutines()
    MonoBehaviour.print(object)
    MonoBehaviour.destroyCancellationToken
    MonoBehaviour.useGUILayout
    MonoBehaviour.runInEditMode
    Behaviour.enabled
    Behaviour.isActiveAndEnabled
    Component.GetComponent(Type)
    Component.GetComponent<T>()
    Component.TryGetComponent(Type, out Component)
    Component.TryGetComponent<T>(out T)
    Component.GetComponent(string)
    Component.GetComponentInChildren(Type, bool)
    Component.GetComponentInChildren(Type)
    Component.GetComponentInChildren<T>(bool)
    Component.GetComponentInChildren<T>()
    Component.GetComponentsInChildren(Type, bool)
    Component.GetComponentsInChildren(Type)
    Component.GetComponentsInChildren<T>(bool)
    Component.GetComponentsInChildren<T>(bool, List<T>)
    Component.GetComponentsInChildren<T>()
    Component.GetComponentsInChildren<T>(List<T>)
    Component.GetComponentInParent(Type, bool)
    Component.GetComponentInParent(Type)
    Component.GetComponentInParent<T>(bool)
    Component.GetComponentInParent<T>()
    Component.GetComponentsInParent(Type, bool)
    Component.GetComponentsInParent(Type)
    Component.GetComponentsInParent<T>(bool)
    Component.GetComponentsInParent<T>(bool, List<T>)
    Component.GetComponentsInParent<T>()
    Component.GetComponents(Type)
    Component.GetComponents(Type, List<Component>)
    Component.GetComponents<T>(List<T>)
    Component.GetComponents<T>()
    Component.GetComponentIndex()
    Component.CompareTag(string)
    Component.SendMessageUpwards(string, object, SendMessageOptions)
    Component.SendMessageUpwards(string, object)
    Component.SendMessageUpwards(string)
    Component.SendMessageUpwards(string, SendMessageOptions)
    Component.SendMessage(string, object)
    Component.SendMessage(string)
    Component.SendMessage(string, object, SendMessageOptions)
    Component.SendMessage(string, SendMessageOptions)
    Component.BroadcastMessage(string, object, SendMessageOptions)
    Component.BroadcastMessage(string, object)
    Component.BroadcastMessage(string)
    Component.BroadcastMessage(string, SendMessageOptions)
    Component.transform
    Component.gameObject
    Component.tag
    Object.GetInstanceID()
    Object.GetHashCode()
    Object.Equals(object)
    Object.InstantiateAsync<T>(T)
    Object.InstantiateAsync<T>(T, Transform)
    Object.InstantiateAsync<T>(T, Vector3, Quaternion)
    Object.InstantiateAsync<T>(T, Transform, Vector3, Quaternion)
    Object.InstantiateAsync<T>(T, int)
    Object.InstantiateAsync<T>(T, int, Transform)
    Object.InstantiateAsync<T>(T, int, Vector3, Quaternion)
    Object.InstantiateAsync<T>(T, int, ReadOnlySpan<Vector3>, ReadOnlySpan<Quaternion>)
    Object.InstantiateAsync<T>(T, int, Transform, Vector3, Quaternion)
    Object.InstantiateAsync<T>(T, int, Transform, ReadOnlySpan<Vector3>, ReadOnlySpan<Quaternion>)
    Object.InstantiateAsync<T>(T, InstantiateParameters)
    Object.InstantiateAsync<T>(T, int, InstantiateParameters)
    Object.InstantiateAsync<T>(T, Vector3, Quaternion, InstantiateParameters)
    Object.InstantiateAsync<T>(T, int, Vector3, Quaternion, InstantiateParameters)
    Object.InstantiateAsync<T>(T, int, ReadOnlySpan<Vector3>, ReadOnlySpan<Quaternion>, InstantiateParameters)
    Object.Instantiate(Object, Vector3, Quaternion)
    Object.Instantiate(Object, Vector3, Quaternion, Transform)
    Object.Instantiate(Object)
    Object.Instantiate(Object, Scene)
    Object.Instantiate<T>(T, InstantiateParameters)
    Object.Instantiate<T>(T, Vector3, Quaternion, InstantiateParameters)
    Object.Instantiate(Object, Transform)
    Object.Instantiate(Object, Transform, bool)
    Object.Instantiate<T>(T)
    Object.Instantiate<T>(T, Vector3, Quaternion)
    Object.Instantiate<T>(T, Vector3, Quaternion, Transform)
    Object.Instantiate<T>(T, Transform)
    Object.Instantiate<T>(T, Transform, bool)
    Object.Destroy(Object, float)
    Object.Destroy(Object)
    Object.DestroyImmediate(Object, bool)
    Object.DestroyImmediate(Object)
    Object.FindObjectsOfType(Type)
    Object.FindObjectsOfType(Type, bool)
    Object.FindObjectsByType(Type, FindObjectsSortMode)
    Object.FindObjectsByType(Type, FindObjectsInactive, FindObjectsSortMode)
    Object.DontDestroyOnLoad(Object)
    Object.DestroyObject(Object, float)
    Object.DestroyObject(Object)
    Object.FindSceneObjectsOfType(Type)
    Object.FindObjectsOfTypeIncludingAssets(Type)
    Object.FindObjectsOfType<T>()
    Object.FindObjectsByType<T>(FindObjectsSortMode)
    Object.FindObjectsOfType<T>(bool)
    Object.FindObjectsByType<T>(FindObjectsInactive, FindObjectsSortMode)
    Object.FindObjectOfType<T>()
    Object.FindObjectOfType<T>(bool)
    Object.FindFirstObjectByType<T>()
    Object.FindAnyObjectByType<T>()
    Object.FindFirstObjectByType<T>(FindObjectsInactive)
    Object.FindAnyObjectByType<T>(FindObjectsInactive)
    Object.FindObjectsOfTypeAll(Type)
    Object.FindObjectOfType(Type)
    Object.FindFirstObjectByType(Type)
    Object.FindAnyObjectByType(Type)
    Object.FindObjectOfType(Type, bool)
    Object.FindFirstObjectByType(Type, FindObjectsInactive)
    Object.FindAnyObjectByType(Type, FindObjectsInactive)
    Object.ToString()
    Object.name
    Object.hideFlags
    object.Equals(object, object)
    object.GetType()
    object.MemberwiseClone()
    object.ReferenceEquals(object, object)
    Namespace: Unity.Cinemachine
    Assembly: Unity.Cinemachine.dll
    Syntax
    [Obsolete("CinemachineVirtualCamera is deprecated. Use CinemachineCamera instead.")]
    [DisallowMultipleComponent]
    [ExecuteAlways]
    [ExcludeFromPreset]
    [AddComponentMenu("")]
    public class CinemachineVirtualCamera : CinemachineVirtualCameraBase, ICinemachineCamera, AxisState.IRequiresInput

    Fields

    BlendHint

    Hint for transitioning to and from this CinemachineCamera. Hints can be combined, although not all combinations make sense. In the case of conflicting hints, Cinemachine will make an arbitrary choice.

    Declaration
    [Tooltip("Hint for transitioning to and from this CinemachineCamera.  Hints can be combined, although not all combinations make sense.  In the case of conflicting hints, Cinemachine will make an arbitrary choice.")]
    public CinemachineCore.BlendHints BlendHint
    Field Value
    Type Description
    CinemachineCore.BlendHints

    CreatePipelineOverride

    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.

    Declaration
    public static CinemachineVirtualCamera.CreatePipelineDelegate CreatePipelineOverride
    Field Value
    Type Description
    CinemachineVirtualCamera.CreatePipelineDelegate

    DestroyPipelineOverride

    Override component pipeline destruction. This needs to be done by the editor to support Undo.

    Declaration
    public static CinemachineVirtualCamera.DestroyPipelineDelegate DestroyPipelineOverride
    Field Value
    Type Description
    CinemachineVirtualCamera.DestroyPipelineDelegate

    m_Follow

    The object that the camera wants to move with (the Body target). The Body component of the CinemachineComponent pipeline will refer to this target and position the vcam in accordance with rules and settings that are provided to it. If this is null, then the vcam's Transform position will be used.

    Declaration
    [Tooltip("The object that the camera wants to move with (the Body target).  If this is null, then the vcam's Transform position will define the camera's position.")]
    public Transform m_Follow
    Field Value
    Type Description
    Transform

    m_Lens

    Specifies the LensSettings of this Virtual Camera. These settings will be transferred to the Unity camera when the vcam is live.

    Declaration
    [Tooltip("Specifies the lens properties of this Virtual Camera.  This generally mirrors the Unity Camera's lens settings, and will be used to drive the Unity camera when the vcam is active.")]
    [FormerlySerializedAs("m_LensAttributes")]
    public LegacyLensSettings m_Lens
    Field Value
    Type Description
    LegacyLensSettings

    m_LookAt

    The object that the camera wants to look at (the Aim target). The Aim component of the CinemachineComponent pipeline will refer to this target and orient the vcam in accordance with rules and settings that are provided to it. If this is null, then the vcam's Transform orientation will be used.

    Declaration
    [Tooltip("The object that the camera wants to look at (the Aim target).  If this is null, then the vcam's Transform orientation will define the camera's orientation.")]
    public Transform m_LookAt
    Field Value
    Type Description
    Transform

    m_OnCameraLiveEvent

    This event fires when a transition occurs.

    Declaration
    [Tooltip("This event fires when a transition occurs")]
    public CinemachineLegacyCameraEvents.OnCameraLiveEvent m_OnCameraLiveEvent
    Field Value
    Type Description
    CinemachineLegacyCameraEvents.OnCameraLiveEvent

    Properties

    Follow

    Get the Follow target for the Body component in the Cinemachine pipeline. If this vcam is a part of a meta-camera collection, then the owner's target will be used if the local target is null.

    Declaration
    public override Transform Follow { get; set; }
    Property Value
    Type Description
    Transform
    Overrides
    CinemachineVirtualCameraBase.Follow

    IsDprecated

    Helper for upgrading from CM2

    Declaration
    protected override bool IsDprecated { get; }
    Property Value
    Type Description
    bool
    Overrides
    CinemachineVirtualCameraBase.IsDprecated

    LookAt

    Get the LookAt target for the Aim component in the Cinemachine pipeline. If this vcam is a part of a meta-camera collection, then the owner's target will be used if the local target is null.

    Declaration
    public override Transform LookAt { get; set; }
    Property Value
    Type Description
    Transform
    Overrides
    CinemachineVirtualCameraBase.LookAt

    State

    The CameraState object holds all of the information necessary to position the Unity camera. It is the output of this class.

    Declaration
    public override CameraState State { get; }
    Property Value
    Type Description
    CameraState
    Overrides
    CinemachineVirtualCameraBase.State

    Methods

    AddCinemachineComponent<T>()

    Add a component to the cinemachine pipeline.
    Existing components at the new component's stage are removed

    Declaration
    public T AddCinemachineComponent<T>() where T : CinemachineComponentBase
    Returns
    Type Description
    T

    The new component

    Type Parameters
    Name Description
    T

    The type of component to add

    DestroyCinemachineComponent<T>()

    Remove a component from the cinemachine pipeline if it's present.

    Declaration
    public void DestroyCinemachineComponent<T>() where T : CinemachineComponentBase
    Type Parameters
    Name Description
    T

    The type of component to remove

    ForceCameraPosition(Vector3, Quaternion)

    Force the virtual camera to assume a given position and orientation

    Declaration
    public override void ForceCameraPosition(Vector3 pos, Quaternion rot)
    Parameters
    Type Name Description
    Vector3 pos

    Worldspace position to take

    Quaternion rot

    Worldspace orientation to take

    Overrides
    CinemachineVirtualCameraBase.ForceCameraPosition(Vector3, Quaternion)

    GetCinemachineComponent(Stage)

    Get the component set for a specific stage.

    Declaration
    public override CinemachineComponentBase GetCinemachineComponent(CinemachineCore.Stage stage)
    Parameters
    Type Name Description
    CinemachineCore.Stage stage

    The stage for which we want the component

    Returns
    Type Description
    CinemachineComponentBase

    The Cinemachine component for that stage, or null if not defined

    Overrides
    CinemachineVirtualCameraBase.GetCinemachineComponent(CinemachineCore.Stage)

    GetCinemachineComponent<T>()

    Get an existing component of a specific type from the cinemachine pipeline.

    Declaration
    public T GetCinemachineComponent<T>() where T : CinemachineComponentBase
    Returns
    Type Description
    T

    The component if it's present, or null

    Type Parameters
    Name Description
    T

    The type of component to get

    GetComponentOwner()

    Get the hidden CinemachinePipeline child object.

    Declaration
    public Transform GetComponentOwner()
    Returns
    Type Description
    Transform

    The hidden CinemachinePipeline child object

    GetComponentPipeline()

    Get the component pipeline owned by the hidden child pipline container. For most purposes, it is preferable to use the GetCinemachineComponent method.

    Declaration
    public CinemachineComponentBase[] GetComponentPipeline()
    Returns
    Type Description
    CinemachineComponentBase[]

    The component pipeline

    GetMaxDampTime()

    Query components and extensions for the maximum damping time.

    Declaration
    public override float GetMaxDampTime()
    Returns
    Type Description
    float

    Highest damping setting in this vcam

    Overrides
    CinemachineVirtualCameraBase.GetMaxDampTime()

    InternalUpdateCameraState(Vector3, float)

    Internal use only. Do not call this method. Called by CinemachineCore at the appropriate Update time so the vcam can position itself and track its targets. This class will invoke its pipeline and generate a CameraState for this frame.

    Declaration
    public override void InternalUpdateCameraState(Vector3 worldUp, float deltaTime)
    Parameters
    Type Name Description
    Vector3 worldUp

    Effective world up

    float deltaTime

    Effective deltaTime

    Overrides
    CinemachineVirtualCameraBase.InternalUpdateCameraState(Vector3, float)

    InvalidateComponentPipeline()

    Editor API: Call this when changing the pipeline from the editor. Will force a rebuild of the pipeline cache.

    Declaration
    public void InvalidateComponentPipeline()

    OnDestroy()

    Calls the DestroyPipelineDelegate for destroying the hidden child object, to support undo.

    Declaration
    protected override void OnDestroy()
    Overrides
    CinemachineVirtualCameraBase.OnDestroy()

    OnEnable()

    Make sure that the pipeline cache is up-to-date.

    Declaration
    protected override void OnEnable()
    Overrides
    CinemachineVirtualCameraBase.OnEnable()

    OnTargetObjectWarped(Transform, Vector3)

    This is called to notify the vcam that a target got warped, so that the vcam can update its internal state to make the camera also warp seamlessly.

    Declaration
    public override void OnTargetObjectWarped(Transform target, Vector3 positionDelta)
    Parameters
    Type Name Description
    Transform target

    The object that was warped

    Vector3 positionDelta

    The amount the target's position changed

    Overrides
    CinemachineVirtualCameraBase.OnTargetObjectWarped(Transform, Vector3)

    OnTransitionFromCamera(ICinemachineCamera, Vector3, float)

    If we are transitioning from another vcam, grab the position from it.

    Declaration
    public override void OnTransitionFromCamera(ICinemachineCamera fromCam, Vector3 worldUp, float deltaTime)
    Parameters
    Type Name Description
    ICinemachineCamera fromCam

    The camera being deactivated. May be null.

    Vector3 worldUp

    Default world Up, set by the CinemachineBrain

    float deltaTime

    Delta time for time-based effects (ignore if less than or equal to 0)

    Overrides
    CinemachineVirtualCameraBase.OnTransitionFromCamera(ICinemachineCamera, Vector3, float)

    OnValidate()

    Enforce bounds for fields, when changed in inspector.

    Declaration
    protected void OnValidate()

    PerformLegacyUpgrade(int)

    Override this to handle any upgrades necessitated by a streaming version change. Note that since this method is not called from the main thread, there are many things it cannot do, including checking a unity object for null.

    Declaration
    protected override void PerformLegacyUpgrade(int streamedVersion)
    Parameters
    Type Name Description
    int streamedVersion

    The version that was streamed

    Overrides
    CinemachineVirtualCameraBase.PerformLegacyUpgrade(int)

    Implements

    ICinemachineCamera
    AxisState.IRequiresInput

    Extension Methods

    CinemachineInputProviderExtensions.GetInputAxisProvider(CinemachineVirtualCameraBase)
    In This Article
    Back to top
    Copyright © 2025 Unity Technologies — Trademarks and terms of use
    • Legal
    • Privacy Policy
    • Cookie Policy
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)