docs.unity3d.com
    Show / Hide Table of Contents

    Struct ArConfig

    Represents the configuration for an ArSession.

    Inherited Members
    ValueType.ToString()
    Object.Equals(Object, Object)
    Object.ReferenceEquals(Object, Object)
    Object.GetType()
    Namespace: UnityEngine.XR.ARCore
    Syntax
    public struct ArConfig : IEquatable<ArConfig>, IDisposable
    Remarks

    This is an opaque object that represents a native ArConfig.

    Constructors

    ArConfig(ArSession)

    Creates a new session configuration and initializes it to a sensible default configuration.

    Declaration
    public ArConfig(ArSession session)
    Parameters
    Type Name Description
    ArSession session

    A non-null ArSession.

    Remarks

    Plane detection and Lighting Estimation are enabled, and blocking update is selected. This configuration is guaranteed to be supported on all devices that support ARCore.

    When you no longer need the ArConfig, you should destroy it by calling Dispose(). If you do not dispose it, ARCore will leak memory.

    Properties

    IsNull

    (Read Only) Indicates whether this ArConfig is null. This property is deprecated. Use the equality operator (==) to compare with null instead.

    Declaration
    [Obsolete("Compare to null instead.")]
    public readonly bool IsNull { get; }
    Property Value
    Type Description
    Boolean

    Null

    Represents a null ArConfig, i.e., one whose underlying native pointer is null. This property is deprecated. Use default instead.

    Declaration
    [Obsolete("Use default instead.")]
    public static readonly ArConfig Null { get; }
    Property Value
    Type Description
    ArConfig

    Methods

    AsIntPtr()

    Gets the underlying native pointer for this ArConfig.

    Declaration
    public IntPtr AsIntPtr()
    Returns
    Type Description
    IntPtr

    Returns the underlying native pointer for this ArConfig.

    Dispose()

    Destroys this ArConfig and sets the underlying native pointer to null.

    Declaration
    public void Dispose()
    Implements
    IDisposable.Dispose()
    Remarks

    You should only dispose an ArConfig if you explicitly created it, e.g., by calling ArConfig(ArSession). If you convert an existing config from an IntPtr (e.g., by calling FromIntPtr(IntPtr)), then you should not dispose it.

    Equals(Object)

    Tests for equality.

    Declaration
    public override bool Equals(object obj)
    Parameters
    Type Name Description
    Object obj

    An Object to compare against.

    Returns
    Type Description
    Boolean

    Returns true if obj is an ArConfig and it compares equal to this one using Equals(ArConfig).

    Overrides
    ValueType.Equals(Object)

    Equals(ArConfig)

    Tests for equality.

    Declaration
    public bool Equals(ArConfig other)
    Parameters
    Type Name Description
    ArConfig other

    The ArConfig to compare against.

    Returns
    Type Description
    Boolean

    Returns true if the underlying native pointers are the same. Returns false otherwise.

    Implements
    IEquatable<T>.Equals(T)
    Remarks

    Two ArConfigs are considered equal if their underlying pointers are equal.

    FromIntPtr(IntPtr)

    Creates an ArConfig from an existing native pointer. The native pointer must point to an existing ArConfig.

    Declaration
    public static ArConfig FromIntPtr(IntPtr value)
    Parameters
    Type Name Description
    IntPtr value

    A pointer to an existing native ArConfig.

    Returns
    Type Description
    ArConfig

    Returns an ArConfig whose underlying native pointer is value.

    GetHashCode()

    Generates a hash code suitable for use with a HashSet or Dictionary

    Declaration
    public override int GetHashCode()
    Returns
    Type Description
    Int32

    Returns a hash code for this ArConfig.

    Overrides
    ValueType.GetHashCode()

    Operators

    Equality(Nullable<ArConfig>, Nullable<ArConfig>)

    Tests for equality.

    Declaration
    public static bool operator ==(ArConfig? lhs, ArConfig? rhs)
    Parameters
    Type Name Description
    Nullable<ArConfig> lhs

    The nullable ArConfig to compare with rhs.

    Nullable<ArConfig> rhs

    The nullable ArConfig to compare with lhs.

    Returns
    Type Description
    Boolean

    Returns true if any of these conditions are met:

    • lhs and rhs are both not null and their underlying pointers are equal.
    • lhs is null and rhs's underlying pointer is null.
    • rhs is null and lhs's underlying pointer is null.
    • Both lhs and rhs are null.

    Returns false otherwise.

    Remarks

    This equality operator lets you to compare an ArConfig with null to determine whether its underlying pointer is null. This allows for a more natural comparison with the native ARCore object:

    bool TestForNull(ArConfig obj)
    {
        if (obj == null)
        {
            // obj.AsIntPtr() is IntPtr.Zero
        }
    }

    Equality(ArConfig, ArConfig)

    Tests for equality. Same as Equals(ArConfig).

    Declaration
    public static bool operator ==(ArConfig lhs, ArConfig rhs)
    Parameters
    Type Name Description
    ArConfig lhs

    The ArConfig to compare with rhs.

    ArConfig rhs

    The ArConfig to compare with lhs.

    Returns
    Type Description
    Boolean

    Returns true if lhs is equal to rhs using Equals(ArConfig). Returns false otherwise.

    Explicit(ArConfig to IntPtr)

    Casts an ArConfig to its underlying native pointer.

    Declaration
    public static explicit operator IntPtr(ArConfig config)
    Parameters
    Type Name Description
    ArConfig config

    The ArConfig to cast.

    Returns
    Type Description
    IntPtr

    Returns the underlying native pointer for config

    Inequality(Nullable<ArConfig>, Nullable<ArConfig>)

    Tests for inequality.

    Declaration
    public static bool operator !=(ArConfig? lhs, ArConfig? rhs)
    Parameters
    Type Name Description
    Nullable<ArConfig> lhs

    The native object to compare with rhs.

    Nullable<ArConfig> rhs

    The native object to compare with lhs.

    Returns
    Type Description
    Boolean

    Returns false if any of these conditions are met:

    • lhs and rhs are both not null and their underlying pointers are equal.
    • lhs is null and rhs's underlying pointer is null.
    • rhs is null and lhs's underlying pointer is null.
    • Both lhs and rhs are null.

    Returns true otherwise.

    Remarks

    This inequality operator lets you to compare an ArConfig with null to determine whether its underlying pointer is null. This allows for a more natural comparison with the native ARCore object:

    bool TestForNull(ArConfig obj)
    {
        if (obj != null)
        {
            // obj.AsIntPtr() is not IntPtr.Zero
        }
    }

    Inequality(ArConfig, ArConfig)

    Tests for inequality. Same as the negation of Equals(ArConfig).

    Declaration
    public static bool operator !=(ArConfig lhs, ArConfig rhs)
    Parameters
    Type Name Description
    ArConfig lhs

    The ArConfig to compare with rhs.

    ArConfig rhs

    The ArConfig to compare with lhs.

    Returns
    Type Description
    Boolean

    Returns false if lhs is equal to rhs using Equals(ArConfig). Returns true otherwise.

    See Also

    beforeSetConfiguration
    ARCoreBeforeSetConfigurationEventArgs
    Back to top
    Copyright © 2023 Unity Technologies — Terms of use
    • Legal
    • Privacy Policy
    • Cookies
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)
    "Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
    Generated by DocFX on 18 October 2023