docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Class XRAnchorSubsystem

    This subsystem provides information regarding anchors. An anchor is a pose (position and rotation) in the physical environment that is tracked by an XR device. Anchors are updated as the device refines its understanding of the environment, allowing you to reliably place virtual content at a real-world pose.

    Inheritance
    object
    SubsystemWithProvider
    SubsystemWithProvider<XRAnchorSubsystem, XRAnchorSubsystemDescriptor, XRAnchorSubsystem.Provider>
    TrackingSubsystem<XRAnchor, XRAnchorSubsystem, XRAnchorSubsystemDescriptor, XRAnchorSubsystem.Provider>
    XRAnchorSubsystem
    SimulationAnchorSubsystem
    Implements
    ISubsystem
    Inherited Members
    TrackingSubsystem<XRAnchor, XRAnchorSubsystem, XRAnchorSubsystemDescriptor, XRAnchorSubsystem.Provider>.GetChanges(Allocator)
    SubsystemWithProvider<XRAnchorSubsystem, XRAnchorSubsystemDescriptor, XRAnchorSubsystem.Provider>.OnCreate()
    SubsystemWithProvider<XRAnchorSubsystem, XRAnchorSubsystemDescriptor, XRAnchorSubsystem.Provider>.OnStart()
    SubsystemWithProvider<XRAnchorSubsystem, XRAnchorSubsystemDescriptor, XRAnchorSubsystem.Provider>.OnStop()
    SubsystemWithProvider<XRAnchorSubsystem, XRAnchorSubsystemDescriptor, XRAnchorSubsystem.Provider>.OnDestroy()
    SubsystemWithProvider<XRAnchorSubsystem, XRAnchorSubsystemDescriptor, XRAnchorSubsystem.Provider>.subsystemDescriptor
    SubsystemWithProvider<XRAnchorSubsystem, XRAnchorSubsystemDescriptor, XRAnchorSubsystem.Provider>.provider
    SubsystemWithProvider.Start()
    SubsystemWithProvider.OnStart()
    SubsystemWithProvider.Stop()
    SubsystemWithProvider.OnStop()
    SubsystemWithProvider.Destroy()
    SubsystemWithProvider.OnDestroy()
    SubsystemWithProvider.running
    object.Equals(object)
    object.Equals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    object.ReferenceEquals(object, object)
    object.ToString()
    Namespace: UnityEngine.XR.ARSubsystems
    Assembly: Unity.XR.ARSubsystems.dll
    Syntax
    public class XRAnchorSubsystem : TrackingSubsystem<XRAnchor, XRAnchorSubsystem, XRAnchorSubsystemDescriptor, XRAnchorSubsystem.Provider>, ISubsystem
    Remarks

    This is a base class with an abstract provider type to be implemented by provider plug-in packages. This class itself does not implement anchor tracking.

    Constructors

    XRAnchorSubsystem()

    Do not invoke this constructor directly.

    Declaration
    public XRAnchorSubsystem()
    Remarks

    If you are implementing your own custom subsystem Lifecycle management, use the SubsystemManager to enumerate the available XRAnchorSubsystemDescriptors, then call XRAnchorSubsystemDescriptor.Register() on the desired descriptor.

    Methods

    GetChanges(Allocator)

    Get the changes to anchors (added, updated, and removed) since the last call to this method.

    Declaration
    public override TrackableChanges<XRAnchor> GetChanges(Allocator allocator)
    Parameters
    Type Name Description
    Allocator allocator

    An allocator to use for the NativeArrays in TrackableChanges<T>.

    Returns
    Type Description
    TrackableChanges<XRAnchor>

    Changes since the last call to this method.

    Overrides
    TrackingSubsystem<XRAnchor, XRAnchorSubsystem, XRAnchorSubsystemDescriptor, XRAnchorSubsystem.Provider>.GetChanges(Allocator)

    TryAddAnchor(Pose, out XRAnchor)

    Attempts to create a new anchor at the given pose.

    Declaration
    public bool TryAddAnchor(Pose pose, out XRAnchor anchor)
    Parameters
    Type Name Description
    Pose pose

    The pose, in session space, of the new anchor.

    XRAnchor anchor

    The new anchor. Only valid if this method returns true.

    Returns
    Type Description
    bool

    true if the output anchor was added. Otherwise, false.

    See Also
    supportsSynchronousAdd

    TryAddAnchorAsync(Pose)

    Attempts to create a new anchor at the given pose.

    Declaration
    public Awaitable<Result<XRAnchor>> TryAddAnchorAsync(Pose pose)
    Parameters
    Type Name Description
    Pose pose

    The pose, in session space, of the new anchor.

    Returns
    Type Description
    Awaitable<Result<XRAnchor>>

    The result of the async operation. You are responsible to await this result.

    TryAttachAnchor(TrackableId, Pose, out XRAnchor)

    Attempts to create a new anchor "attached" to the trackable with id trackableToAffix. The behavior of the anchor depends on the type of trackable to which this anchor is attached.

    Declaration
    public bool TryAttachAnchor(TrackableId trackableToAffix, Pose pose, out XRAnchor anchor)
    Parameters
    Type Name Description
    TrackableId trackableToAffix

    The id of the trackable to which to attach.

    Pose pose

    The pose, in session space, of the anchor to create.

    XRAnchor anchor

    The new anchor. Only valid if this method returns true.

    Returns
    Type Description
    bool

    true if the new anchor was added. Otherwise, false.

    TryEraseAnchorAsync(SerializableGuid, CancellationToken)

    Attempts to erase the persistent saved data associated with an anchor given its persistent anchor GUID.

    Declaration
    public Awaitable<XRResultStatus> TryEraseAnchorAsync(SerializableGuid savedAnchorGuid, CancellationToken cancellationToken = default)
    Parameters
    Type Name Description
    SerializableGuid savedAnchorGuid

    A persistent anchor GUID created by TrySaveAnchorAsync(TrackableId, CancellationToken).

    CancellationToken cancellationToken

    An optional CancellationToken that you can use to cancel the operation in progress if the loaded provider supportsAsyncCancellation.

    Returns
    Type Description
    Awaitable<XRResultStatus>

    The result of the async operation. You are responsible to await this result.

    See Also
    supportsEraseAnchor

    TryGetSavedAnchorIdsAsync(Allocator, CancellationToken)

    Attempts to get a NativeArray containing all saved persistent anchor GUIDs.

    Declaration
    public Awaitable<Result<NativeArray<SerializableGuid>>> TryGetSavedAnchorIdsAsync(Allocator allocator, CancellationToken cancellationToken = default)
    Parameters
    Type Name Description
    Allocator allocator

    The allocation strategy to use for the resulting NativeArray.

    CancellationToken cancellationToken

    An optional CancellationToken that you can use to cancel the operation in progress if the loaded provider supportsAsyncCancellation.

    Returns
    Type Description
    Awaitable<Result<NativeArray<SerializableGuid>>>

    The result of the async operation, containing a NativeArray of persistent anchor GUIDs allocated with the given allocator if the operation succeeded. You are responsible to await this result.

    See Also
    supportsGetSavedAnchorIds

    TryLoadAnchorAsync(SerializableGuid, CancellationToken)

    Attempts to load an anchor given its persistent anchor GUID.

    Declaration
    public Awaitable<Result<XRAnchor>> TryLoadAnchorAsync(SerializableGuid savedAnchorGuid, CancellationToken cancellationToken = default)
    Parameters
    Type Name Description
    SerializableGuid savedAnchorGuid

    A persistent anchor GUID created by TrySaveAnchorAsync(TrackableId, CancellationToken).

    CancellationToken cancellationToken

    An optional CancellationToken that you can use to cancel the operation in progress if the loaded provider supportsAsyncCancellation.

    Returns
    Type Description
    Awaitable<Result<XRAnchor>>

    The result of the async operation, containing the newly added anchor if the operation succeeded. You are responsible to await this result.

    See Also
    supportsLoadAnchor

    TryRemoveAnchor(TrackableId)

    Attempts to remove an existing anchor with TrackableId anchorId.

    Declaration
    public bool TryRemoveAnchor(TrackableId anchorId)
    Parameters
    Type Name Description
    TrackableId anchorId

    The id of an existing anchor to remove.

    Returns
    Type Description
    bool

    true if the anchor was removed. Otherwise, false.

    TrySaveAnchorAsync(TrackableId, CancellationToken)

    Attempts to persistently save the given anchor so that it can be loaded in a future AR session. Use the SerializableGuid returned by this method as an input parameter to TryLoadAnchorAsync(SerializableGuid, CancellationToken) or TryEraseAnchorAsync(SerializableGuid, CancellationToken).

    Declaration
    public Awaitable<Result<SerializableGuid>> TrySaveAnchorAsync(TrackableId anchorId, CancellationToken cancellationToken = default)
    Parameters
    Type Name Description
    TrackableId anchorId

    The TrackableId of the anchor to save.

    CancellationToken cancellationToken

    An optional CancellationToken that you can use to cancel the operation in progress if the loaded provider supportsAsyncCancellation.

    Returns
    Type Description
    Awaitable<Result<SerializableGuid>>

    The result of the async operation, containing a new persistent anchor GUID if the operation succeeded. You are responsible to await this result.

    See Also
    supportsSaveAnchor

    Implements

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