docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Class SimulatedDataTrackingProvider<TSynthTrackable, TData>

    Base class for a provider that simulates changes to the tracking states of synthesized data over time and updates data accordingly

    Inheritance
    object
    Object
    Component
    Behaviour
    MonoBehaviour
    SimulatedDataTrackingProvider<TSynthTrackable, TData>
    SimulatedBodyTrackingProvider
    Implements
    IUsesFunctionalityInjection
    IFunctionalitySubscriber<IProvidesFunctionalityInjection>
    IFunctionalitySubscriber
    Inherited Members
    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.useGUILayout
    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.CompareTag(string)
    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.Instantiate(Object, Vector3, Quaternion)
    Object.Instantiate(Object, Vector3, Quaternion, Transform)
    Object.Instantiate(Object)
    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: Unity.MARS.Providers.Synthetic
    Assembly: Unity.MARS.dll
    Syntax
    public abstract class SimulatedDataTrackingProvider<TSynthTrackable, TData> : MonoBehaviour, IUsesFunctionalityInjection, IFunctionalitySubscriber<IProvidesFunctionalityInjection>, IFunctionalitySubscriber where TSynthTrackable : SynthesizedTrackable<TData> where TData : IMRTrackable
    Type Parameters
    Name Description
    TSynthTrackable

    The type of SynthesizedTrackable to track

    TData

    The type of IMRTrackable data to provide

    Fields

    m_DiscoveredTrackables

    Declaration
    protected readonly HashSet<TSynthTrackable> m_DiscoveredTrackables
    Field Value
    Type Description
    HashSet<TSynthTrackable>

    m_EnvironmentPhysicsScene

    Declaration
    protected PhysicsScene m_EnvironmentPhysicsScene
    Field Value
    Type Description
    PhysicsScene

    m_EnvironmentScene

    Declaration
    protected Scene m_EnvironmentScene
    Field Value
    Type Description
    Scene

    m_SimulatedTrackableObjects

    Declaration
    protected readonly Dictionary<TSynthTrackable, SimulatedObject> m_SimulatedTrackableObjects
    Field Value
    Type Description
    Dictionary<TSynthTrackable, SimulatedObject>

    Methods

    AddTrackableData(TSynthTrackable, MARSTrackingState)

    Add data from the synthesized trackable. This is called when the trackable has started tracking for the first time and has been added to m_DiscoveredTrackables.

    Declaration
    protected abstract void AddTrackableData(TSynthTrackable synthesizedTrackable, MARSTrackingState trackingState)
    Parameters
    Type Name Description
    TSynthTrackable synthesizedTrackable

    Synthesized trackable whose data to add

    MARSTrackingState trackingState

    Initial tracking quality of the trackable

    GetTrackingState(TSynthTrackable, Camera)

    Get the tracking quality of the synthesized trackable relative to the MARS camera. This is where to check whether the trackable is within the camera frustum and whether it is occluded by other objects in m_EnvironmentPhysicsScene.

    Declaration
    protected abstract MARSTrackingState GetTrackingState(TSynthTrackable synthesizedTrackable, Camera marsCamera)
    Parameters
    Type Name Description
    TSynthTrackable synthesizedTrackable
    Camera marsCamera
    Returns
    Type Description
    MARSTrackingState

    OnDisable()

    Declaration
    protected virtual void OnDisable()

    OnEnable()

    Declaration
    protected virtual void OnEnable()

    OnMarsUpdate()

    Declaration
    protected virtual void OnMarsUpdate()

    RemoveTrackableData(TSynthTrackable)

    Remove data from the synthesized trackable

    Declaration
    protected abstract void RemoveTrackableData(TSynthTrackable synthesizedTrackable)
    Parameters
    Type Name Description
    TSynthTrackable synthesizedTrackable

    Synthesized trackable whose data to remove

    SetupTrackingForEnvironment()

    Gather trackable objects in the simulated environment and do any other initialization that depends on the environment

    Declaration
    protected virtual void SetupTrackingForEnvironment()

    UpdateTrackableData(TSynthTrackable, MARSTrackingState)

    Update data from a synthesized trackable that has been previously discovered. The tracking quality may be Unknown, but this does not necessarily mean the data must be removed from the database.

    Declaration
    protected abstract void UpdateTrackableData(TSynthTrackable synthesizedTrackable, MARSTrackingState trackingState)
    Parameters
    Type Name Description
    TSynthTrackable synthesizedTrackable

    Synthesized trackable whose data to update

    MARSTrackingState trackingState

    Current tracking quality of the trackable, may be used to limit which traits get updated

    Implements

    Unity.XRTools.ModuleLoader.IUsesFunctionalityInjection
    Unity.XRTools.ModuleLoader.IFunctionalitySubscriber<TProvider>
    Unity.XRTools.ModuleLoader.IFunctionalitySubscriber
    In This Article
    Back to top
    Copyright © 2025 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)