docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Class ARAnchorManager

    A trackable manager that enables you to add and track anchors. Add this component to your XR Origin GameObject to enable anchor tracking in your app.

    Inheritance
    object
    Object
    Component
    Behaviour
    MonoBehaviour
    SubsystemLifecycleManager<XRAnchorSubsystem, XRAnchorSubsystemDescriptor, XRAnchorSubsystem.Provider>
    ARTrackableManager<XRAnchorSubsystem, XRAnchorSubsystemDescriptor, XRAnchorSubsystem.Provider, XRAnchor, ARAnchor>
    ARAnchorManager
    Implements
    ITrackablesChanged<ARAnchor>
    Inherited Members
    ARTrackableManager<XRAnchorSubsystem, XRAnchorSubsystemDescriptor, XRAnchorSubsystem.Provider, XRAnchor, ARAnchor>.trackablesChanged
    ARTrackableManager<XRAnchorSubsystem, XRAnchorSubsystemDescriptor, XRAnchorSubsystem.Provider, XRAnchor, ARAnchor>.trackables
    ARTrackableManager<XRAnchorSubsystem, XRAnchorSubsystemDescriptor, XRAnchorSubsystem.Provider, XRAnchor, ARAnchor>.SetTrackablesActive(bool)
    SubsystemLifecycleManager<XRAnchorSubsystem, XRAnchorSubsystemDescriptor, XRAnchorSubsystem.Provider>.subsystem
    SubsystemLifecycleManager<XRAnchorSubsystem, XRAnchorSubsystemDescriptor, XRAnchorSubsystem.Provider>.descriptor
    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.didStart
    MonoBehaviour.didAwake
    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.CompareTag(TagHandle)
    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, 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.Instantiate(Object, Vector3, Quaternion)
    Object.Instantiate(Object, Vector3, Quaternion, Transform)
    Object.Instantiate(Object)
    Object.Instantiate(Object, Scene)
    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.ReferenceEquals(object, object)
    Namespace: UnityEngine.XR.ARFoundation
    Assembly: Unity.XR.ARFoundation.dll
    Syntax
    [DefaultExecutionOrder(-2147483647)]
    [DisallowMultipleComponent]
    [RequireComponent(typeof(XROrigin))]
    public sealed class ARAnchorManager : ARTrackableManager<XRAnchorSubsystem, XRAnchorSubsystemDescriptor, XRAnchorSubsystem.Provider, XRAnchor, ARAnchor>, ITrackablesChanged<ARAnchor>
    Remarks

    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 physical pose.

    Properties

    anchorPrefab

    This prefab will be instantiated for each ARAnchor. May be null.

    Declaration
    public GameObject anchorPrefab { get; set; }
    Property Value
    Type Description
    GameObject
    Remarks

    The purpose of this property is to extend the functionality of ARAnchors. It is not the recommended way to instantiate content associated with an ARAnchor.

    gameObjectName

    The name to assign to the GameObject instantiated for each ARAnchor.

    Declaration
    protected override string gameObjectName { get; }
    Property Value
    Type Description
    string
    Overrides
    ARTrackableManager<XRAnchorSubsystem, XRAnchorSubsystemDescriptor, XRAnchorSubsystem.Provider, XRAnchor, ARAnchor>.gameObjectName

    Methods

    AttachAnchor(ARPlane, Pose)

    Attempts to create a new anchor that is attached to an existing ARPlane.

    Declaration
    public ARAnchor AttachAnchor(ARPlane plane, Pose pose)
    Parameters
    Type Name Description
    ARPlane plane

    The ARPlane to which to attach.

    Pose pose

    The initial pose, in Unity world space, of the anchor.

    Returns
    Type Description
    ARAnchor

    A new ARAnchor if successful, otherwise null.

    GetAnchor(TrackableId)

    Gets the ARAnchor with given trackableId, or null if no such anchor exists.

    Declaration
    public ARAnchor GetAnchor(TrackableId trackableId)
    Parameters
    Type Name Description
    TrackableId trackableId

    The TrackableId of the ARAnchor to retrieve.

    Returns
    Type Description
    ARAnchor

    The ARAnchor or null.

    GetPrefab()

    Get the prefab to instantiate for each ARAnchor.

    Declaration
    protected override GameObject GetPrefab()
    Returns
    Type Description
    GameObject

    The prefab to instantiate for each ARAnchor.

    Overrides
    ARTrackableManager<XRAnchorSubsystem, XRAnchorSubsystemDescriptor, XRAnchorSubsystem.Provider, XRAnchor, ARAnchor>.GetPrefab()

    OnTrackablesChanged(List<ARAnchor>, List<ARAnchor>, List<ARAnchor>)

    Invoked when the base class detects trackable changes.

    Declaration
    [Obsolete("OnTrackablesChanged() has been deprecated in AR Foundation version 6.0.", false)]
    protected override void OnTrackablesChanged(List<ARAnchor> added, List<ARAnchor> updated, List<ARAnchor> removed)
    Parameters
    Type Name Description
    List<ARAnchor> added

    The list of added anchors.

    List<ARAnchor> updated

    The list of updated anchors.

    List<ARAnchor> removed

    The list of removed anchors.

    Overrides
    ARTrackableManager<XRAnchorSubsystem, XRAnchorSubsystemDescriptor, XRAnchorSubsystem.Provider, XRAnchor, ARAnchor>.OnTrackablesChanged(List<ARAnchor>, List<ARAnchor>, List<ARAnchor>)

    TryAddAnchorAsync(Pose)

    Attempts to create a new anchor at the given pose.

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

    The pose, in Unity world space, of the anchor.

    Returns
    Type Description
    Awaitable<Result<ARAnchor>>

    The result of the async operation.

    Examples

    Use this API with C# async/await syntax as shown below:

    var result = await TryAddAnchorAsync(pose);
    if (result.TryGetResult(out var anchor))
        DoSomethingWith(anchor);

    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(ARAnchor, 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<ARAnchor>> TryLoadAnchorAsync(SerializableGuid savedAnchorGuid, CancellationToken cancellationToken = default)
    Parameters
    Type Name Description
    SerializableGuid savedAnchorGuid

    A persistent anchor GUID created by TrySaveAnchorAsync(ARAnchor, 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<ARAnchor>>

    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(ARAnchor)

    Attempts to remove an anchor.

    Declaration
    public bool TryRemoveAnchor(ARAnchor anchor)
    Parameters
    Type Name Description
    ARAnchor anchor

    The ARAnchor to remove.

    Returns
    Type Description
    bool

    True if successful, otherwise False

    Exceptions
    Type Condition
    ArgumentNullException

    TrySaveAnchorAsync(ARAnchor, 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(ARAnchor anchor, CancellationToken cancellationToken = default)
    Parameters
    Type Name Description
    ARAnchor anchor

    The anchor to save. You can create an anchor using TryAddAnchorAsync(Pose).

    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

    Events

    anchorsChanged

    Invoked once per frame to communicate changes: new anchors, updates to existing anchors, and removed anchors.

    Declaration
    [Obsolete("anchorsChanged has been deprecated in AR Foundation version 6.0. Use trackablesChanged instead.", false)]
    public event Action<ARAnchorsChangedEventArgs> anchorsChanged
    Event Type
    Type Description
    Action<ARAnchorsChangedEventArgs>

    Implements

    ITrackablesChanged<TTrackable>
    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)