docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Class ARCameraFeature

    Enables AR Foundation passthrough support via OpenXR for Android XR devices.

    Inheritance
    object
    Object
    ScriptableObject
    OpenXRFeature
    AndroidXROpenXRFeature
    ARCameraFeature
    Inherited Members
    AndroidXROpenXRFeature.OnEnabledChange()
    OpenXRFeature.enabled
    OpenXRFeature.xrGetInstanceProcAddr
    OpenXRFeature.HookGetInstanceProcAddr(IntPtr)
    OpenXRFeature.OnSubsystemStart()
    OpenXRFeature.OnSubsystemStop()
    OpenXRFeature.OnInstanceCreate(ulong)
    OpenXRFeature.OnSystemChange(ulong)
    OpenXRFeature.OnSessionCreate(ulong)
    OpenXRFeature.OnAppSpaceChange(ulong)
    OpenXRFeature.OnSessionStateChange(int, int)
    OpenXRFeature.OnSessionBegin(ulong)
    OpenXRFeature.OnSessionEnd(ulong)
    OpenXRFeature.OnSessionExiting(ulong)
    OpenXRFeature.OnSessionDestroy(ulong)
    OpenXRFeature.OnInstanceDestroy(ulong)
    OpenXRFeature.OnSessionLossPending(ulong)
    OpenXRFeature.OnInstanceLossPending(ulong)
    OpenXRFeature.OnFormFactorChange(int)
    OpenXRFeature.OnViewConfigurationTypeChange(int)
    OpenXRFeature.PathToString(ulong)
    OpenXRFeature.StringToPath(string)
    OpenXRFeature.GetCurrentInteractionProfile(ulong)
    OpenXRFeature.GetCurrentInteractionProfile(string)
    OpenXRFeature.GetCurrentAppSpace()
    OpenXRFeature.GetViewConfigurationTypeForRenderPass(int)
    OpenXRFeature.SetEnvironmentBlendMode(XrEnvironmentBlendMode)
    OpenXRFeature.GetEnvironmentBlendMode()
    OpenXRFeature.CreateSubsystem<TDescriptor, TSubsystem>(List<TDescriptor>, string)
    OpenXRFeature.StartSubsystem<T>()
    OpenXRFeature.StopSubsystem<T>()
    OpenXRFeature.DestroySubsystem<T>()
    OpenXRFeature.OnEnable()
    OpenXRFeature.OnDisable()
    OpenXRFeature.Awake()
    OpenXRFeature.GetAction(InputAction)
    OpenXRFeature.GetAction(InputDevice, InputFeatureUsage)
    OpenXRFeature.GetAction(InputDevice, string)
    OpenXRFeature.RegisterStatsDescriptor(string, OpenXRFeature.StatFlags)
    OpenXRFeature.SetStatAsFloat(ulong, float)
    OpenXRFeature.SetStatAsUInt(ulong, uint)
    ScriptableObject.SetDirty()
    ScriptableObject.CreateInstance(string)
    ScriptableObject.CreateInstance(Type)
    ScriptableObject.CreateInstance<T>()
    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, Vector3, Quaternion, CancellationToken)
    Object.InstantiateAsync<T>(T, int, Transform, ReadOnlySpan<Vector3>, ReadOnlySpan<Quaternion>)
    Object.InstantiateAsync<T>(T, int, Transform, ReadOnlySpan<Vector3>, ReadOnlySpan<Quaternion>, CancellationToken)
    Object.InstantiateAsync<T>(T, InstantiateParameters, CancellationToken)
    Object.InstantiateAsync<T>(T, int, InstantiateParameters, CancellationToken)
    Object.InstantiateAsync<T>(T, Vector3, Quaternion, InstantiateParameters, CancellationToken)
    Object.InstantiateAsync<T>(T, int, Vector3, Quaternion, InstantiateParameters, CancellationToken)
    Object.InstantiateAsync<T>(T, int, ReadOnlySpan<Vector3>, ReadOnlySpan<Quaternion>, InstantiateParameters, CancellationToken)
    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: UnityEngine.XR.OpenXR.Features.Android
    Assembly: Unity.XR.AndroidOpenXR.dll
    Syntax
    public class ARCameraFeature : AndroidXROpenXRFeature

    Fields

    featureId

    The feature id string. This is used to give the feature an id for reference.

    Declaration
    public const string featureId = "com.unity.openxr.feature.arfoundation-androidxr-camera"
    Field Value
    Type Description
    string

    Methods

    GetValidationChecks(List<ValidationRule>, BuildTargetGroup)

    Validation Rules for ARCameraFeature.

    Declaration
    protected override void GetValidationChecks(List<OpenXRFeature.ValidationRule> rules, BuildTargetGroup targetGroup)
    Parameters
    Type Name Description
    List<OpenXRFeature.ValidationRule> rules
    BuildTargetGroup targetGroup
    Overrides
    OpenXRFeature.GetValidationChecks(List<OpenXRFeature.ValidationRule>, BuildTargetGroup)

    OnEnvironmentBlendModeChange(XrEnvironmentBlendMode)

    Realigns environment blend mode with current passthrough state if they are misaligned after the mode was changed.

    Declaration
    protected override void OnEnvironmentBlendModeChange(XrEnvironmentBlendMode xrEnvironmentBlendMode)
    Parameters
    Type Name Description
    XrEnvironmentBlendMode xrEnvironmentBlendMode

    New environment blend mode value

    Overrides
    UnityEngine.XR.OpenXR.Features.OpenXRFeature.OnEnvironmentBlendModeChange(UnityEngine.XR.OpenXR.NativeTypes.XrEnvironmentBlendMode)

    OnSubsystemCreate()

    Instantiates Android OpenXR Session subsystem instance, but does not start it. (Start/Stop is typically handled by AR Foundation managers.)

    Declaration
    protected override void OnSubsystemCreate()
    Overrides
    UnityEngine.XR.OpenXR.Features.OpenXRFeature.OnSubsystemCreate()

    OnSubsystemDestroy()

    Destroys the session subsystem.

    Declaration
    protected override void OnSubsystemDestroy()
    Overrides
    UnityEngine.XR.OpenXR.Features.OpenXRFeature.OnSubsystemDestroy()

    TryGetGlobalDimmingLevel()

    Gets the current global passthrough dimming level applied by the runtime.

    Declaration
    public static Result<float> TryGetGlobalDimmingLevel()
    Returns
    Type Description
    Result<float>

    A result containing the current dimming intensity in the range [0.0, 1.0], where 0.0 represents no dimming (full passthrough brightness) and 1.0 represents maximum dimming (darkest passthrough).

    TryGetSupportedDimmingLevels(Allocator)

    Gets the dimming levels supported by the runtime.

    Declaration
    public static Result<NativeArray<float>> TryGetSupportedDimmingLevels(Allocator allocator)
    Parameters
    Type Name Description
    Allocator allocator

    The allocator to use for the output array.

    Returns
    Type Description
    Result<NativeArray<float>>

    A result containing a NativeArray_1 of floating-point values in the range [0.0, 1.0], where 0.0 represents no dimming (full brightness) and 1.0 represents maximum dimming. The caller is responsible for disposing the array when the result indicates success. On failure, the result value is default and does not require disposal.

    TryRequestGlobalDimmingLevel(float)

    Requests the runtime to set the global passthrough dimming level.

    Declaration
    public static XRResultStatus TryRequestGlobalDimmingLevel(float dimmingLevel)
    Parameters
    Type Name Description
    float dimmingLevel

    Desired dimming intensity in the range [0.0, 1.0], where 0.0 represents no dimming (full passthrough brightness) and 1.0 represents maximum dimming (darkest passthrough). Values outside this range will be clamped.

    Returns
    Type Description
    XRResultStatus

    Status indicating whether the request was accepted by the runtime.

    Remarks

    A dimming level that doesn't map exactly to a supported level will be rounded to the closest one.

    In This Article
    Back to top
    Copyright © 2026 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)