UxrCompass Class

Compass component that assists the user by giving visual hints to know where to look or the action to perform. It will show an arrow in front of the view that will help getting the target into sight. When the target gets into sight it can optionally show an action icon:  

  • Location: To let the user know where to move next
  • Grab: To let the user know an object should be grabbed
  • Look: To focus attention on an object
  • Use: To let the user know an operation should be performed on an object

Inheritance Hierarchy

System.Object
  Object
    Component
      Behaviour
        MonoBehaviour
          UltimateXR.Core.Components.UxrComponent
            UltimateXR.Core.Components.Singleton.UxrAbstractSingleton(UxrCompass)
              UltimateXR.Core.Components.Singleton.UxrSingleton(UxrCompass)
                UltimateXR.Guides.UxrCompass
Namespace: UltimateXR.Guides
Assembly: UltimateXR (in UltimateXR.dll) Version: 0.0.0.0

Syntax

C#

public class UxrCompass : UxrSingleton<UxrCompass>


The UxrCompass type exposes the following members.

Constructors

NameDescription
Public methodUxrCompass

Properties

NameDescription
Public propertyDisplayMode Gets or sets the current display mode.
Public propertyHasTarget Gets whether the compass is currently focused on an object.
Public propertyTargetPosition Gets the target’s position.
Public propertyTargetTransform Gets the target’s Transform.

Methods

NameDescription
Protected methodAwake Initializes the compass. (Overrides UxrAbstractSingleton<T>.Awake().)
Public methodSetTarget(Transform, UxrCompassDisplayMode, Single) Sets the current target.
Public methodSetTarget(Vector3, UxrCompassDisplayMode, Single) Sets the current target.
Public methodSetTargetTemporary(Transform, UxrCompassDisplayMode, Single) Sets the current target. When the object gets into sight it will show the icon described by displayMode during a limited amount of time (TemporaryDurationSeconds). The timer is reset each time the object gets out of sight.
Public methodSetTargetTemporary(Vector3, UxrCompassDisplayMode, Single) Sets the current target. When the object gets into sight it will show the icon described by displayMode during a limited amount of time (TemporaryDurationSeconds). The timer is reset each time the object gets out of sight.

Extension Methods

NameDescription
Public Extension MethodCheckSetEnabled Enables/disabled the component if it isn’t enabled already. (Defined by MonoBehaviourExt.)
Public Extension MethodGetOrAddComponent<T> Gets the Component of a given type. If it doesn’t exist, it is added to the GameObject. (Defined by ComponentExt.)
Public Extension MethodGetPathUnderScene Gets the full path under current scene, including all parents, but scene name, for the given component. (Defined by ComponentExt.)
Public Extension MethodGetSceneUid Gets an unique identifier string for the given component. (Defined by ComponentExt.)
Public Extension MethodGetUniqueScenePath Gets an unique path in the scene for the given component. It will include scene name, sibling and component indices to make it unique. (Defined by ComponentExt.)
Public Extension MethodLoopCoroutine Creates a coroutine that simplifies executing a loop during a certain amount of time. (Defined by MonoBehaviourExt.)
Public Extension MethodSafeGetComponentInParent<T> Gets the Component of a given type in the GameObject or any of its parents. It also works on prefabs, where regular GetComponentInParent(Type, Boolean) will not work: https://issuetracker.unity3d.com/issues/getcomponentinparent-is-returning-null-when-the-gameobject-is-a-prefab (Defined by ComponentExt.)
Public Extension MethodShowInInspector(Boolean)Overloaded.
Controls whether to show the current object in the inspector. (Defined by ObjectExt.)
Public Extension MethodShowInInspector(Boolean, Boolean)Overloaded.
Controls whether to show the current object in the inspector and whether it is editable. (Defined by ObjectExt.)
Public Extension MethodThrowIfNull Throws an exception if the object is null. (Defined by ObjectExt.)

Remarks

Since the compass is a UxrSingleton<T>, it is unique and can be invoked from any point using UxrCompass.Instance.

See Also

Reference

UltimateXR.Guides Namespace