docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Class ARCameraBackground

    Add this component to a Camera to copy the color camera's texture onto the background.

    If you are using the Lightweight Render Pipeline (version 5.7.2 or later) or the Univerisal Render Pipeline (version 7.0.0 or later), you must also add the ARBackgroundRendererFeature to the list of render features for the scriptable renderer.

    Inheritance
    object
    Object
    Component
    Behaviour
    MonoBehaviour
    ARCameraBackground
    Inherited Members
    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.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.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.Instantiate(Object, Vector3, Quaternion)
    Object.Instantiate(Object, Vector3, Quaternion, Transform)
    Object.Instantiate(Object)
    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: UnityEngine.XR.ARFoundation
    Assembly: Unity.XR.ARFoundation.dll
    Syntax
    [DisallowMultipleComponent]
    [RequireComponent(typeof(Camera))]
    [RequireComponent(typeof(ARCameraManager))]
    [HelpURL("https://docs.unity3d.com/Packages/com.unity.xr.arfoundation@4.2/api/UnityEngine.XR.ARFoundation.ARCameraBackground.html")]
    public class ARCameraBackground : MonoBehaviour
    Remarks

    To add the ARBackgroundRendererFeature to the list of render features for the scriptable renderer:

    • In Project Settings > Graphics, select the render pipeline asset (either LightweightRenderPipelineAsset or UniversalRenderPipelineAsset) that is in the Scriptable Render Pipeline Settings field.
    • In the render pipeline asset's Inspector window, make sure that the Render Type is set to Custom.
    • In render pipeline asset's Inspector window, select the Render Type > Data asset which would be of type ForwardRendererData.
    • In forward renderer data's Inspector window, ensure the Render Features list contains a ARBackgroundRendererFeature.

    To customize background rendering with the legacy render pipeline, you can override the legacyCameraEvents property and the ConfigureLegacyCommandBuffer(CommandBuffer) method to modify the given CommandBuffer with rendering commands and to inject the given CommandBuffer into the Camera's rendering.

    To customize background rendering with a scriptable render pipeline, create a ScriptableRendererFeature with the background rendering commands, and insert the ScriptableRendererFeature into the list of render features for the scriptable renderer.

    Properties

    backgroundRenderingEnabled

    Whether background rendering is enabled.

    Declaration
    public bool backgroundRenderingEnabled { get; }
    Property Value
    Type Description
    bool

    true if background rendering is enabled and if at least one camera frame has been received. Otherwise, false.

    camera

    The camera to which the projection matrix is set on each frame event.

    Declaration
    protected Camera camera { get; }
    Property Value
    Type Description
    Camera

    The camera to which the projection matrix is set on each frame event.

    cameraManager

    The camera manager from which frame information is pulled.

    Declaration
    protected ARCameraManager cameraManager { get; }
    Property Value
    Type Description
    ARCameraManager

    The camera manager from which frame information is pulled.

    customMaterial

    A custom material for rendering the background.

    Declaration
    public Material customMaterial { get; set; }
    Property Value
    Type Description
    Material

    A custom material for rendering the background.

    legacyCameraEvents

    The list of CameraEvents to add to the CommandBuffer. By default, returns BeforeForwardOpaque and BeforeGBuffer}. Override to use different camera events.

    Declaration
    protected virtual IEnumerable<CameraEvent> legacyCameraEvents { get; }
    Property Value
    Type Description
    IEnumerable<CameraEvent>

    material

    The current Material used for background rendering.

    Declaration
    public Material material { get; }
    Property Value
    Type Description
    Material

    occlusionManager

    The occlusion manager, which might not exist, from which occlusion information is pulled.

    Declaration
    protected AROcclusionManager occlusionManager { get; }
    Property Value
    Type Description
    AROcclusionManager

    shouldInvertCulling

    Whether culling should be inverted. Used during command buffer configuration, see CommandBuffer.SetInvertCulling.

    Declaration
    protected bool shouldInvertCulling { get; }
    Property Value
    Type Description
    bool
    See Also
    ConfigureLegacyCommandBuffer(CommandBuffer)

    useCustomMaterial

    Whether to use the custom material for rendering the background.

    Declaration
    public bool useCustomMaterial { get; set; }
    Property Value
    Type Description
    bool

    true if the custom material should be used for rendering the camera background. Otherwise, false.

    Methods

    ConfigureLegacyCommandBuffer(CommandBuffer)

    Configures the commandBuffer by first clearing it, and then adding necessary render commands.

    Declaration
    protected virtual void ConfigureLegacyCommandBuffer(CommandBuffer commandBuffer)
    Parameters
    Type Name Description
    CommandBuffer commandBuffer

    The command buffer to configure.

    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)