docs.unity3d.com
    Show / Hide Table of Contents

    Class ARTrackedObjectManager

    A manager for ARTrackedObjects. Uses the XRObjectTrackingSubsystem to recognize and track 3D objects in the physical environment.

    Inheritance
    Object
    UnityEngine.Object
    UnityEngine.Component
    UnityEngine.Behaviour
    UnityEngine.MonoBehaviour
    SubsystemLifecycleManager<XRObjectTrackingSubsystem, XRObjectTrackingSubsystemDescriptor, XRObjectTrackingSubsystem.Provider>
    ARTrackableManager<XRObjectTrackingSubsystem, XRObjectTrackingSubsystemDescriptor, XRObjectTrackingSubsystem.Provider, XRTrackedObject, ARTrackedObject>
    ARTrackedObjectManager
    Inherited Members
    ARTrackableManager<XRObjectTrackingSubsystem, XRObjectTrackingSubsystemDescriptor, XRObjectTrackingSubsystem.Provider, XRTrackedObject, ARTrackedObject>.trackables
    ARTrackableManager<XRObjectTrackingSubsystem, XRObjectTrackingSubsystemDescriptor, XRObjectTrackingSubsystem.Provider, XRTrackedObject, ARTrackedObject>.SetTrackablesActive(Boolean)
    ARTrackableManager<XRObjectTrackingSubsystem, XRObjectTrackingSubsystemDescriptor, XRObjectTrackingSubsystem.Provider, XRTrackedObject, ARTrackedObject>.origin
    ARTrackableManager<XRObjectTrackingSubsystem, XRObjectTrackingSubsystemDescriptor, XRObjectTrackingSubsystem.Provider, XRTrackedObject, ARTrackedObject>.sessionOrigin
    ARTrackableManager<XRObjectTrackingSubsystem, XRObjectTrackingSubsystemDescriptor, XRObjectTrackingSubsystem.Provider, XRTrackedObject, ARTrackedObject>.gameObjectName
    ARTrackableManager<XRObjectTrackingSubsystem, XRObjectTrackingSubsystemDescriptor, XRObjectTrackingSubsystem.Provider, XRTrackedObject, ARTrackedObject>.GetPrefab()
    ARTrackableManager<XRObjectTrackingSubsystem, XRObjectTrackingSubsystemDescriptor, XRObjectTrackingSubsystem.Provider, XRTrackedObject, ARTrackedObject>.m_Trackables
    ARTrackableManager<XRObjectTrackingSubsystem, XRObjectTrackingSubsystemDescriptor, XRObjectTrackingSubsystem.Provider, XRTrackedObject, ARTrackedObject>.m_PendingAdds
    ARTrackableManager<XRObjectTrackingSubsystem, XRObjectTrackingSubsystemDescriptor, XRObjectTrackingSubsystem.Provider, XRTrackedObject, ARTrackedObject>.Awake()
    ARTrackableManager<XRObjectTrackingSubsystem, XRObjectTrackingSubsystemDescriptor, XRObjectTrackingSubsystem.Provider, XRTrackedObject, ARTrackedObject>.OnEnable()
    ARTrackableManager<XRObjectTrackingSubsystem, XRObjectTrackingSubsystemDescriptor, XRObjectTrackingSubsystem.Provider, XRTrackedObject, ARTrackedObject>.OnDisable()
    ARTrackableManager<XRObjectTrackingSubsystem, XRObjectTrackingSubsystemDescriptor, XRObjectTrackingSubsystem.Provider, XRTrackedObject, ARTrackedObject>.CanBeAddedToSubsystem(ARTrackedObject)
    ARTrackableManager<XRObjectTrackingSubsystem, XRObjectTrackingSubsystemDescriptor, XRObjectTrackingSubsystem.Provider, XRTrackedObject, ARTrackedObject>.Update()
    ARTrackableManager<XRObjectTrackingSubsystem, XRObjectTrackingSubsystemDescriptor, XRObjectTrackingSubsystem.Provider, XRTrackedObject, ARTrackedObject>.OnTrackablesChanged(List<ARTrackedObject>, List<ARTrackedObject>, List<ARTrackedObject>)
    ARTrackableManager<XRObjectTrackingSubsystem, XRObjectTrackingSubsystemDescriptor, XRObjectTrackingSubsystem.Provider, XRTrackedObject, ARTrackedObject>.OnCreateTrackable(ARTrackedObject)
    ARTrackableManager<XRObjectTrackingSubsystem, XRObjectTrackingSubsystemDescriptor, XRObjectTrackingSubsystem.Provider, XRTrackedObject, ARTrackedObject>.OnAfterSetSessionRelativeData(ARTrackedObject, XRTrackedObject)
    ARTrackableManager<XRObjectTrackingSubsystem, XRObjectTrackingSubsystemDescriptor, XRObjectTrackingSubsystem.Provider, XRTrackedObject, ARTrackedObject>.CreateTrackableImmediate(XRTrackedObject)
    ARTrackableManager<XRObjectTrackingSubsystem, XRObjectTrackingSubsystemDescriptor, XRObjectTrackingSubsystem.Provider, XRTrackedObject, ARTrackedObject>.DestroyPendingTrackable(TrackableId)
    ARTrackableManager<XRObjectTrackingSubsystem, XRObjectTrackingSubsystemDescriptor, XRObjectTrackingSubsystem.Provider, XRTrackedObject, ARTrackedObject>.CreateTrackableFromExisting(ARTrackedObject, XRTrackedObject)
    SubsystemLifecycleManager<XRObjectTrackingSubsystem, XRObjectTrackingSubsystemDescriptor, XRObjectTrackingSubsystem.Provider>.subsystem
    SubsystemLifecycleManager<XRObjectTrackingSubsystem, XRObjectTrackingSubsystemDescriptor, XRObjectTrackingSubsystem.Provider>.descriptor
    SubsystemLifecycleManager<XRObjectTrackingSubsystem, XRObjectTrackingSubsystemDescriptor, XRObjectTrackingSubsystem.Provider>.GetActiveSubsystemInstance()
    SubsystemLifecycleManager<XRObjectTrackingSubsystem, XRObjectTrackingSubsystemDescriptor, XRObjectTrackingSubsystem.Provider>.EnsureSubsystemInstanceSet()
    SubsystemLifecycleManager<XRObjectTrackingSubsystem, XRObjectTrackingSubsystemDescriptor, XRObjectTrackingSubsystem.Provider>.OnEnable()
    SubsystemLifecycleManager<XRObjectTrackingSubsystem, XRObjectTrackingSubsystemDescriptor, XRObjectTrackingSubsystem.Provider>.OnDisable()
    SubsystemLifecycleManager<XRObjectTrackingSubsystem, XRObjectTrackingSubsystemDescriptor, XRObjectTrackingSubsystem.Provider>.OnDestroy()
    SubsystemLifecycleManager<XRObjectTrackingSubsystem, XRObjectTrackingSubsystemDescriptor, XRObjectTrackingSubsystem.Provider>.OnBeforeStart()
    SubsystemLifecycleManager<XRObjectTrackingSubsystem, XRObjectTrackingSubsystemDescriptor, XRObjectTrackingSubsystem.Provider>.OnAfterStart()
    UnityEngine.MonoBehaviour.IsInvoking()
    UnityEngine.MonoBehaviour.CancelInvoke()
    UnityEngine.MonoBehaviour.Invoke(System.String, System.Single)
    UnityEngine.MonoBehaviour.InvokeRepeating(System.String, System.Single, System.Single)
    UnityEngine.MonoBehaviour.CancelInvoke(System.String)
    UnityEngine.MonoBehaviour.IsInvoking(System.String)
    UnityEngine.MonoBehaviour.StartCoroutine(System.String)
    UnityEngine.MonoBehaviour.StartCoroutine(System.String, System.Object)
    UnityEngine.MonoBehaviour.StartCoroutine(System.Collections.IEnumerator)
    UnityEngine.MonoBehaviour.StartCoroutine_Auto(System.Collections.IEnumerator)
    UnityEngine.MonoBehaviour.StopCoroutine(System.Collections.IEnumerator)
    UnityEngine.MonoBehaviour.StopCoroutine(UnityEngine.Coroutine)
    UnityEngine.MonoBehaviour.StopCoroutine(System.String)
    UnityEngine.MonoBehaviour.StopAllCoroutines()
    UnityEngine.MonoBehaviour.print(System.Object)
    UnityEngine.MonoBehaviour.useGUILayout
    UnityEngine.MonoBehaviour.runInEditMode
    UnityEngine.Behaviour.enabled
    UnityEngine.Behaviour.isActiveAndEnabled
    UnityEngine.Component.GetComponent(System.Type)
    UnityEngine.Component.GetComponent<T>()
    UnityEngine.Component.TryGetComponent(System.Type, UnityEngine.Component)
    UnityEngine.Component.TryGetComponent<T>(T)
    UnityEngine.Component.GetComponent(System.String)
    UnityEngine.Component.GetComponentInChildren(System.Type, System.Boolean)
    UnityEngine.Component.GetComponentInChildren(System.Type)
    UnityEngine.Component.GetComponentInChildren<T>(System.Boolean)
    UnityEngine.Component.GetComponentInChildren<T>()
    UnityEngine.Component.GetComponentsInChildren(System.Type, System.Boolean)
    UnityEngine.Component.GetComponentsInChildren(System.Type)
    UnityEngine.Component.GetComponentsInChildren<T>(System.Boolean)
    UnityEngine.Component.GetComponentsInChildren<T>(System.Boolean, System.Collections.Generic.List<T>)
    UnityEngine.Component.GetComponentsInChildren<T>()
    UnityEngine.Component.GetComponentsInChildren<T>(System.Collections.Generic.List<T>)
    UnityEngine.Component.GetComponentInParent(System.Type, System.Boolean)
    UnityEngine.Component.GetComponentInParent(System.Type)
    UnityEngine.Component.GetComponentInParent<T>(System.Boolean)
    UnityEngine.Component.GetComponentInParent<T>()
    UnityEngine.Component.GetComponentsInParent(System.Type, System.Boolean)
    UnityEngine.Component.GetComponentsInParent(System.Type)
    UnityEngine.Component.GetComponentsInParent<T>(System.Boolean)
    UnityEngine.Component.GetComponentsInParent<T>(System.Boolean, System.Collections.Generic.List<T>)
    UnityEngine.Component.GetComponentsInParent<T>()
    UnityEngine.Component.GetComponents(System.Type)
    UnityEngine.Component.GetComponents(System.Type, System.Collections.Generic.List<UnityEngine.Component>)
    UnityEngine.Component.GetComponents<T>(System.Collections.Generic.List<T>)
    UnityEngine.Component.GetComponents<T>()
    UnityEngine.Component.CompareTag(System.String)
    UnityEngine.Component.SendMessageUpwards(System.String, System.Object, UnityEngine.SendMessageOptions)
    UnityEngine.Component.SendMessageUpwards(System.String, System.Object)
    UnityEngine.Component.SendMessageUpwards(System.String)
    UnityEngine.Component.SendMessageUpwards(System.String, UnityEngine.SendMessageOptions)
    UnityEngine.Component.SendMessage(System.String, System.Object)
    UnityEngine.Component.SendMessage(System.String)
    UnityEngine.Component.SendMessage(System.String, System.Object, UnityEngine.SendMessageOptions)
    UnityEngine.Component.SendMessage(System.String, UnityEngine.SendMessageOptions)
    UnityEngine.Component.BroadcastMessage(System.String, System.Object, UnityEngine.SendMessageOptions)
    UnityEngine.Component.BroadcastMessage(System.String, System.Object)
    UnityEngine.Component.BroadcastMessage(System.String)
    UnityEngine.Component.BroadcastMessage(System.String, UnityEngine.SendMessageOptions)
    UnityEngine.Component.transform
    UnityEngine.Component.gameObject
    UnityEngine.Component.tag
    UnityEngine.Object.GetInstanceID()
    UnityEngine.Object.GetHashCode()
    UnityEngine.Object.Equals(System.Object)
    UnityEngine.Object.Instantiate(UnityEngine.Object, UnityEngine.Vector3, UnityEngine.Quaternion)
    UnityEngine.Object.Instantiate(UnityEngine.Object, UnityEngine.Vector3, UnityEngine.Quaternion, UnityEngine.Transform)
    UnityEngine.Object.Instantiate(UnityEngine.Object)
    UnityEngine.Object.Instantiate(UnityEngine.Object, UnityEngine.Transform)
    UnityEngine.Object.Instantiate(UnityEngine.Object, UnityEngine.Transform, System.Boolean)
    UnityEngine.Object.Instantiate<T>(T)
    UnityEngine.Object.Instantiate<T>(T, UnityEngine.Vector3, UnityEngine.Quaternion)
    UnityEngine.Object.Instantiate<T>(T, UnityEngine.Vector3, UnityEngine.Quaternion, UnityEngine.Transform)
    UnityEngine.Object.Instantiate<T>(T, UnityEngine.Transform)
    UnityEngine.Object.Instantiate<T>(T, UnityEngine.Transform, System.Boolean)
    UnityEngine.Object.Destroy(UnityEngine.Object, System.Single)
    UnityEngine.Object.Destroy(UnityEngine.Object)
    UnityEngine.Object.DestroyImmediate(UnityEngine.Object, System.Boolean)
    UnityEngine.Object.DestroyImmediate(UnityEngine.Object)
    UnityEngine.Object.FindObjectsOfType(System.Type)
    UnityEngine.Object.FindObjectsOfType(System.Type, System.Boolean)
    UnityEngine.Object.DontDestroyOnLoad(UnityEngine.Object)
    UnityEngine.Object.DestroyObject(UnityEngine.Object, System.Single)
    UnityEngine.Object.DestroyObject(UnityEngine.Object)
    UnityEngine.Object.FindSceneObjectsOfType(System.Type)
    UnityEngine.Object.FindObjectsOfTypeIncludingAssets(System.Type)
    UnityEngine.Object.FindObjectsOfType<T>()
    UnityEngine.Object.FindObjectsOfType<T>(System.Boolean)
    UnityEngine.Object.FindObjectOfType<T>()
    UnityEngine.Object.FindObjectOfType<T>(System.Boolean)
    UnityEngine.Object.FindObjectsOfTypeAll(System.Type)
    UnityEngine.Object.FindObjectOfType(System.Type)
    UnityEngine.Object.FindObjectOfType(System.Type, System.Boolean)
    UnityEngine.Object.ToString()
    UnityEngine.Object.name
    UnityEngine.Object.hideFlags
    Object.Equals(Object, Object)
    Object.ReferenceEquals(Object, Object)
    Object.GetType()
    Object.MemberwiseClone()
    Namespace: UnityEngine.XR.ARFoundation
    Syntax
    [DefaultExecutionOrder(-2147483647)]
    [DisallowMultipleComponent]
    [RequireComponent(typeof(XROrigin))]
    public sealed class ARTrackedObjectManager : ARTrackableManager<XRObjectTrackingSubsystem, XRObjectTrackingSubsystemDescriptor, XRObjectTrackingSubsystem.Provider, XRTrackedObject, ARTrackedObject>

    Properties

    gameObjectName

    The name to be used for the GameObject whenever a new object is detected.

    Declaration
    protected override string gameObjectName { get; }
    Property Value
    Type Description
    String
    Overrides
    UnityEngine.XR.ARFoundation.ARTrackableManager<UnityEngine.XR.ARSubsystems.XRObjectTrackingSubsystem, UnityEngine.XR.ARSubsystems.XRObjectTrackingSubsystemDescriptor, UnityEngine.XR.ARSubsystems.XRObjectTrackingSubsystem.Provider, UnityEngine.XR.ARSubsystems.XRTrackedObject, UnityEngine.XR.ARFoundation.ARTrackedObject>.gameObjectName

    referenceLibrary

    The ARObjectLibrary to use during object detection. This is the library of objects which will be detected and tracked in the physical environment.

    Declaration
    public XRReferenceObjectLibrary referenceLibrary { get; set; }
    Property Value
    Type Description
    XRReferenceObjectLibrary

    trackedObjectPrefab

    If not null, instantiates this Prefab for each detected object.

    Declaration
    public GameObject trackedObjectPrefab { get; set; }
    Property Value
    Type Description
    UnityEngine.GameObject

    Methods

    GetPrefab()

    Get the Prefab to instantiate for each ARTrackedObject.

    Declaration
    protected override GameObject GetPrefab()
    Returns
    Type Description
    UnityEngine.GameObject

    The prefab to instantiate for each ARTrackedObject.

    Overrides
    UnityEngine.XR.ARFoundation.ARTrackableManager<UnityEngine.XR.ARSubsystems.XRObjectTrackingSubsystem, UnityEngine.XR.ARSubsystems.XRObjectTrackingSubsystemDescriptor, UnityEngine.XR.ARSubsystems.XRObjectTrackingSubsystem.Provider, UnityEngine.XR.ARSubsystems.XRTrackedObject, UnityEngine.XR.ARFoundation.ARTrackedObject>.GetPrefab()

    OnAfterSetSessionRelativeData(ARTrackedObject, XRTrackedObject)

    Invoked just after each ARTrackedObject has been updated.

    Declaration
    protected override void OnAfterSetSessionRelativeData(ARTrackedObject trackedObject, XRTrackedObject sessionRelativeData)
    Parameters
    Type Name Description
    ARTrackedObject trackedObject

    The ARTrackedObject being updated.

    XRTrackedObject sessionRelativeData

    New data associated with trackedObject. All spatial data is relative to the XROrigin.

    Overrides
    UnityEngine.XR.ARFoundation.ARTrackableManager<UnityEngine.XR.ARSubsystems.XRObjectTrackingSubsystem, UnityEngine.XR.ARSubsystems.XRObjectTrackingSubsystemDescriptor, UnityEngine.XR.ARSubsystems.XRObjectTrackingSubsystem.Provider, UnityEngine.XR.ARSubsystems.XRTrackedObject, UnityEngine.XR.ARFoundation.ARTrackedObject>.OnAfterSetSessionRelativeData(UnityEngine.XR.ARFoundation.ARTrackedObject, UnityEngine.XR.ARSubsystems.XRTrackedObject)

    OnBeforeStart()

    Sets the object library on the subsystem before Start() is called on the base class.

    Declaration
    protected override void OnBeforeStart()
    Overrides
    UnityEngine.XR.ARFoundation.SubsystemLifecycleManager<UnityEngine.XR.ARSubsystems.XRObjectTrackingSubsystem, UnityEngine.XR.ARSubsystems.XRObjectTrackingSubsystemDescriptor, UnityEngine.XR.ARSubsystems.XRObjectTrackingSubsystem.Provider>.OnBeforeStart()

    OnTrackablesChanged(List<ARTrackedObject>, List<ARTrackedObject>, List<ARTrackedObject>)

    Invokes the trackedObjectsChanged event.

    Declaration
    protected override void OnTrackablesChanged(List<ARTrackedObject> added, List<ARTrackedObject> updated, List<ARTrackedObject> removed)
    Parameters
    Type Name Description
    List<ARTrackedObject> added

    A list of objects added this frame.

    List<ARTrackedObject> updated

    A list of objects updated this frame.

    List<ARTrackedObject> removed

    A list of objects removed this frame.

    Overrides
    UnityEngine.XR.ARFoundation.ARTrackableManager<UnityEngine.XR.ARSubsystems.XRObjectTrackingSubsystem, UnityEngine.XR.ARSubsystems.XRObjectTrackingSubsystemDescriptor, UnityEngine.XR.ARSubsystems.XRObjectTrackingSubsystem.Provider, UnityEngine.XR.ARSubsystems.XRTrackedObject, UnityEngine.XR.ARFoundation.ARTrackedObject>.OnTrackablesChanged(System.Collections.Generic.List<UnityEngine.XR.ARFoundation.ARTrackedObject>, System.Collections.Generic.List<UnityEngine.XR.ARFoundation.ARTrackedObject>, System.Collections.Generic.List<UnityEngine.XR.ARFoundation.ARTrackedObject>)

    Events

    trackedObjectsChanged

    Invoked once per frame with information about the ARTrackedObjects that have changed (that is, been added, updated, or removed). This happens just before ARTrackedObjects are destroyed, so you can set ARTrackedObject.destroyOnRemoval to false from this event to suppress this behavior.

    Declaration
    public event Action<ARTrackedObjectsChangedEventArgs> trackedObjectsChanged
    Event Type
    Type Description
    Action<ARTrackedObjectsChangedEventArgs>
    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