docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Class InputSystemUIInputModule

    Input module that takes its input from input actions.

    Inheritance
    object
    Object
    Component
    Behaviour
    MonoBehaviour
    UIBehaviour
    BaseInputModule
    InputSystemUIInputModule
    Inherited Members
    BaseInputModule.m_RaycastResultCache
    BaseInputModule.m_InputOverride
    BaseInputModule.input
    BaseInputModule.inputOverride
    BaseInputModule.eventSystem
    BaseInputModule.FindFirstRaycast(List<RaycastResult>)
    BaseInputModule.DetermineMoveDirection(float, float)
    BaseInputModule.DetermineMoveDirection(float, float, float)
    BaseInputModule.FindCommonRoot(GameObject, GameObject)
    BaseInputModule.HandlePointerExitAndEnter(PointerEventData, GameObject)
    BaseInputModule.GetAxisEventData(float, float, float)
    BaseInputModule.GetBaseEventData()
    BaseInputModule.ShouldActivateModule()
    BaseInputModule.DeactivateModule()
    BaseInputModule.UpdateModule()
    BaseInputModule.IsModuleSupported()
    UIBehaviour.Start()
    UIBehaviour.IsActive()
    UIBehaviour.OnValidate()
    UIBehaviour.OnRectTransformDimensionsChange()
    UIBehaviour.OnBeforeTransformParentChanged()
    UIBehaviour.OnTransformParentChanged()
    UIBehaviour.OnDidApplyAnimationProperties()
    UIBehaviour.OnCanvasGroupChanged()
    UIBehaviour.OnCanvasHierarchyChanged()
    UIBehaviour.IsDestroyed()
    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.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)
    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.DontDestroyOnLoad(Object)
    Object.FindObjectsOfType<T>()
    Object.FindObjectOfType<T>()
    Object.FindObjectOfType(Type)
    Object.ToString()
    Object.name
    Object.hideFlags
    Namespace: UnityEngine.InputSystem.UI
    Assembly: Unity.InputSystem.dll
    Syntax
    [HelpURL("https://docs.unity3d.com/Packages/com.unity.inputsystem@1.8/manual/UISupport.html#setting-up-ui-input")]
    public class InputSystemUIInputModule : BaseInputModule
    Remarks

    This UI input module has the advantage over other such modules that it doesn't have to know what devices and types of devices input is coming from. Instead, the actions hide the actual sources of input from the module.

    When adding this component from code (such as through GameObject.AddComponent), the resulting module will automatically have a set of default input actions assigned to it (see AssignDefaultActions()).

    Properties

    actionsAsset

    Declaration
    public InputActionAsset actionsAsset { get; set; }
    Property Value
    Type Description
    InputActionAsset

    cancel

    An InputAction delivering a float button value that determines when ICancelHandler is triggered.

    Declaration
    public InputActionReference cancel { get; set; }
    Property Value
    Type Description
    InputActionReference
    Remarks

    The events generated from this input will be received by UnityEngine.EventSystems.ICancelHandler.

    This action together with move and submit form the sources for navigation-style UI input.

    This action should have its type set to Button.

    var asset = ScriptableObject.Create<InputActionAsset>();
    var map = asset.AddActionMap("UI");
    var pointAction = map.AddAction("move");
    var submitAction = map.AddAction("submit");
    var cancelAction = map.AddAction("cancel");
    

    moveAction.AddBinding("<Gamepad>/*stick"); moveAction.AddBinding("<Gamepad>/dpad"); submitAction.AddBinding("<Gamepad>/buttonSouth"); cancelAction.AddBinding("<Gamepad>/buttonEast");

    ((InputSystemUIInputModule)EventSystem.current.currentInputModule).move = InputActionReference.Create(moveAction); ((InputSystemUIInputModule)EventSystem.current.currentInputModule).submit = InputActionReference.Create(submitAction); ((InputSystemUIInputModule)EventSystem.current.currentInputModule).cancelAction = InputActionReference.Create(cancelAction);

    See Also
    move
    submit

    cursorLockBehavior

    Where to position the pointer when the cursor is locked.

    Declaration
    public InputSystemUIInputModule.CursorLockBehavior cursorLockBehavior { get; set; }
    Property Value
    Type Description
    InputSystemUIInputModule.CursorLockBehavior
    Remarks

    By default, the pointer is positioned at -1, -1 in screen space when the cursor is locked. This has implications for using ray casters like UnityEngine.EventSystems.PhysicsRaycaster because the raycasts will be sent from the pointer position. By setting the value of cursorLockBehavior to ScreenCenter, the raycasts will be sent from the center of the screen. This is useful when trying to interact with world space UI using the UnityEngine.EventSystems.IPointerEnterHandler and UnityEngine.EventSystems.IPointerExitHandler interfaces when the cursor is locked.

    deselectOnBackgroundClick

    Whether to clear the current selection when a click happens that does not hit any GameObject.

    Declaration
    public bool deselectOnBackgroundClick { get; set; }
    Property Value
    Type Description
    bool

    If true (default), clicking outside of any GameObject will reset the current selection.

    Remarks

    By toggling this behavior off, background clicks will keep the current selection. I.e. EventSystem.currentSelectedGameObject will not be changed.

    leftClick

    An InputAction delivering a float button value that determines whether the left button of a pointer is pressed.

    Declaration
    public InputActionReference leftClick { get; set; }
    Property Value
    Type Description
    InputActionReference
    Remarks

    Clicks on this button will use UnityEngine.EventSystems.PointerEventData.InputButton.Left for UnityEngine.EventSystems.PointerEventData.button.

    Together with point, rightClick, middleClick, and scrollWheel, this forms the basis for pointer-type UI input.

    Note that together with point, this action is necessary for a pointer to be functional. The other clicks and scrollWheel are optional, however.

    This action should have its type set to PassThrough and its expectedControlType set to "Button".

    var asset = ScriptableObject.Create<InputActionAsset>();
    var map = asset.AddActionMap("UI");
    var pointAction = map.AddAction("scroll");
    var clickAction = map.AddAction("click");
    

    pointAction.AddBinding("<Mouse>/position"); pointAction.AddBinding("<Touchscreen>/touch*/position");

    clickAction.AddBinding("<Mouse>/leftButton"); clickAction.AddBinding("<Touchscreen>/touch*/press");

    ((InputSystemUIInputModule)EventSystem.current.currentInputModule).point = InputActionReference.Create(pointAction); ((InputSystemUIInputModule)EventSystem.current.currentInputModule).leftClick = InputActionReference.Create(clickAction);

    See Also
    rightClick
    middleClick
    scrollWheel
    point

    middleClick

    An InputAction delivering a float button value that determines whether the middle button of a pointer is pressed.

    Declaration
    public InputActionReference middleClick { get; set; }
    Property Value
    Type Description
    InputActionReference
    Remarks

    Clicks on this button will use UnityEngine.EventSystems.PointerEventData.InputButton.Middle for UnityEngine.EventSystems.PointerEventData.button.

    Together with leftClick, rightClick, scrollWheel, and point, this forms the basis for pointer-type UI input.

    Note that the action is optional. A pointer is fully functional with just point and leftClick alone.

    This action should have its type set to PassThrough and its expectedControlType set to "Button".

    var asset = ScriptableObject.Create<InputActionAsset>();
    var map = asset.AddActionMap("UI");
    var pointAction = map.AddAction("scroll");
    var leftClickAction = map.AddAction("leftClick");
    var middleClickAction = map.AddAction("middleClick");
    

    pointAction.AddBinding("<Mouse>/position"); pointAction.AddBinding("<Touchscreen>/touch*/position");

    leftClickAction.AddBinding("<Mouse>/leftButton"); leftClickAction.AddBinding("<Touchscreen>/touch*/press");

    middleClickAction.AddBinding("<Mouse>/middleButton");

    ((InputSystemUIInputModule)EventSystem.current.currentInputModule).point = InputActionReference.Create(pointAction); ((InputSystemUIInputModule)EventSystem.current.currentInputModule).leftClick = InputActionReference.Create(leftClickAction); ((InputSystemUIInputModule)EventSystem.current.currentInputModule).middleClick = InputActionReference.Create(middleClickAction);

    See Also
    leftClick
    rightClick
    scrollWheel
    point

    move

    An InputAction delivering a Vector2 2D motion vector used for sending UnityEngine.EventSystems.AxisEventData navigation events.

    Declaration
    public InputActionReference move { get; set; }
    Property Value
    Type Description
    InputActionReference
    Remarks

    The events generated from this input will be received by UnityEngine.EventSystems.IMoveHandler.OnMove(UnityEngine.EventSystems.AxisEventData).

    This action together with submit and cancel form the sources for navigation-style UI input.

    This action should have its type set to PassThrough and its expectedControlType set to "Vector2".

    var asset = ScriptableObject.Create<InputActionAsset>();
    var map = asset.AddActionMap("UI");
    var pointAction = map.AddAction("move");
    var submitAction = map.AddAction("submit");
    var cancelAction = map.AddAction("cancel");
    

    moveAction.AddBinding("<Gamepad>/*stick"); moveAction.AddBinding("<Gamepad>/dpad"); submitAction.AddBinding("<Gamepad>/buttonSouth"); cancelAction.AddBinding("<Gamepad>/buttonEast");

    ((InputSystemUIInputModule)EventSystem.current.currentInputModule).move = InputActionReference.Create(moveAction); ((InputSystemUIInputModule)EventSystem.current.currentInputModule).submit = InputActionReference.Create(submitAction); ((InputSystemUIInputModule)EventSystem.current.currentInputModule).cancelAction = InputActionReference.Create(cancelAction);

    See Also
    submit
    cancel

    moveRepeatDelay

    Delay in seconds between an initial move action and a repeated move action while move is actuated.

    Declaration
    public float moveRepeatDelay { get; set; }
    Property Value
    Type Description
    float
    Remarks

    While move is being held down, the input module will first wait for moveRepeatDelay seconds after the first actuation of move and then trigger a move event every moveRepeatRate seconds.

    See Also
    moveRepeatRate
    AxisEventData

    moveRepeatRate

    Delay in seconds between repeated move actions while move is actuated.

    Declaration
    public float moveRepeatRate { get; set; }
    Property Value
    Type Description
    float
    Remarks

    While move is being held down, the input module will first wait for moveRepeatDelay seconds after the first actuation of move and then trigger a move event every moveRepeatRate seconds.

    Note that a maximum of one UnityEngine.EventSystems.AxisEventData will be sent per frame. This means that even if multiple time increments of the repeat delay have passed since the last update, only one move repeat event will be generated.

    See Also
    moveRepeatDelay
    AxisEventData

    point

    An InputAction delivering a Vector2 2D screen position used as a cursor for pointing at UI elements.

    Declaration
    public InputActionReference point { get; set; }
    Property Value
    Type Description
    InputActionReference
    Remarks

    The values read from this action determine UnityEngine.EventSystems.PointerEventData.position and UnityEngine.EventSystems.PointerEventData.delta.

    Together with leftClick, rightClick, middleClick, and scrollWheel, this forms the basis for pointer-type UI input.

    This action should have its type set to PassThrough and its expectedControlType set to "Vector2".

    var asset = ScriptableObject.Create<InputActionAsset>();
    var map = asset.AddActionMap("UI");
    var pointAction = map.AddAction("Point");
    

    pointAction.AddBinding("<Mouse>/position"); pointAction.AddBinding("<Touchscreen>/touch*/position");

    ((InputSystemUIInputModule)EventSystem.current.currentInputModule).point = InputActionReference.Create(pointAction);

    See Also
    leftClick
    rightClick
    middleClick
    scrollWheel

    pointerBehavior

    How to deal with the presence of pointer-type input from multiple devices.

    Declaration
    public UIPointerBehavior pointerBehavior { get; set; }
    Property Value
    Type Description
    UIPointerBehavior
    Remarks

    By default, this is set to SingleMouseOrPenButMultiTouchAndTrack which will treat input from Mouse and Pen devices as coming from a single on-screen pointer but will treat input from devices such as XRController and Touchscreen as their own discrete pointers.

    The primary effect of this setting is to determine whether the user can concurrently point at more than a single UI element or not. Whenever multiple pointers are allowed, more than one element may have a pointer over it at any one point and thus several elements can be interacted with concurrently.

    rightClick

    An InputAction delivering a float" button value that determines whether the right button of a pointer is pressed.

    Declaration
    public InputActionReference rightClick { get; set; }
    Property Value
    Type Description
    InputActionReference
    Remarks

    Clicks on this button will use UnityEngine.EventSystems.PointerEventData.InputButton.Right for UnityEngine.EventSystems.PointerEventData.button.

    Together with leftClick, middleClick, scrollWheel, and point, this forms the basis for pointer-type UI input.

    Note that the action is optional. A pointer is fully functional with just point and leftClick alone.

    This action should have its type set to PassThrough and its expectedControlType set to "Button".

    var asset = ScriptableObject.Create<InputActionAsset>();
    var map = asset.AddActionMap("UI");
    var pointAction = map.AddAction("scroll");
    var leftClickAction = map.AddAction("leftClick");
    var rightClickAction = map.AddAction("rightClick");
    

    pointAction.AddBinding("<Mouse>/position"); pointAction.AddBinding("<Touchscreen>/touch*/position");

    leftClickAction.AddBinding("<Mouse>/leftButton"); leftClickAction.AddBinding("<Touchscreen>/touch*/press");

    rightClickAction.AddBinding("<Mouse>/rightButton");

    ((InputSystemUIInputModule)EventSystem.current.currentInputModule).point = InputActionReference.Create(pointAction); ((InputSystemUIInputModule)EventSystem.current.currentInputModule).leftClick = InputActionReference.Create(leftClickAction); ((InputSystemUIInputModule)EventSystem.current.currentInputModule).rightClick = InputActionReference.Create(rightClickAction);

    See Also
    leftClick
    middleClick
    scrollWheel
    point

    scrollWheel

    An InputAction delivering a Vector2 scroll wheel value used for sending UnityEngine.EventSystems.PointerEventData events.

    Declaration
    public InputActionReference scrollWheel { get; set; }
    Property Value
    Type Description
    InputActionReference
    Remarks

    The values read from this action determine UnityEngine.EventSystems.PointerEventData.scrollDelta.

    Together with leftClick, rightClick, middleClick, and point, this forms the basis for pointer-type UI input.

    Note that the action is optional. A pointer is fully functional with just point and leftClick alone.

    This action should have its type set to PassThrough and its expectedControlType set to "Vector2".

    var asset = ScriptableObject.Create<InputActionAsset>();
    var map = asset.AddActionMap("UI");
    var pointAction = map.AddAction("scroll");
    var scrollAction = map.AddAction("scroll");
    

    pointAction.AddBinding("<Mouse>/position"); pointAction.AddBinding("<Touchscreen>/touch*/position");

    scrollAction.AddBinding("<Mouse>/scroll");

    ((InputSystemUIInputModule)EventSystem.current.currentInputModule).point = InputActionReference.Create(pointAction); ((InputSystemUIInputModule)EventSystem.current.currentInputModule).scrollWheel = InputActionReference.Create(scrollAction);

    See Also
    leftClick
    rightClick
    middleClick
    point

    submit

    An InputAction delivering a float button value that determines when ISubmitHandler is triggered.

    Declaration
    public InputActionReference submit { get; set; }
    Property Value
    Type Description
    InputActionReference
    Remarks

    The events generated from this input will be received by UnityEngine.EventSystems.ISubmitHandler.

    This action together with move and cancel form the sources for navigation-style UI input.

    This action should have its type set to Button.

    var asset = ScriptableObject.Create<InputActionAsset>();
    var map = asset.AddActionMap("UI");
    var pointAction = map.AddAction("move");
    var submitAction = map.AddAction("submit");
    var cancelAction = map.AddAction("cancel");
    

    moveAction.AddBinding("<Gamepad>/*stick"); moveAction.AddBinding("<Gamepad>/dpad"); submitAction.AddBinding("<Gamepad>/buttonSouth"); cancelAction.AddBinding("<Gamepad>/buttonEast");

    ((InputSystemUIInputModule)EventSystem.current.currentInputModule).move = InputActionReference.Create(moveAction); ((InputSystemUIInputModule)EventSystem.current.currentInputModule).submit = InputActionReference.Create(submitAction); ((InputSystemUIInputModule)EventSystem.current.currentInputModule).cancelAction = InputActionReference.Create(cancelAction);

    See Also
    move
    cancel

    trackedDeviceDragThresholdMultiplier

    Scales the drag threshold of EventSystem for tracked devices to make selection easier.

    Declaration
    public float trackedDeviceDragThresholdMultiplier { get; set; }
    Property Value
    Type Description
    float

    trackedDeviceOrientation

    An InputAction delivering a Quaternion value reflecting the orientation of TrackedDevices. In combination with trackedDevicePosition, this is used to determine the transform of tracked devices from which to raycast into the UI scene.

    Declaration
    public InputActionReference trackedDeviceOrientation { get; set; }
    Property Value
    Type Description
    InputActionReference
    Remarks

    trackedDeviceOrientation and trackedDevicePosition together replace point for UI input from TrackedDevice. Other than that, UI input for tracked devices is no different from "normal" pointer-type input. This means that leftClick, rightClick, middleClick, and scrollWheel can all be used for tracked device input like for regular pointer input.

    This action should have its type set to PassThrough and its expectedControlType set to "Quaternion".

    var asset = ScriptableObject.Create<InputActionAsset>();
    var map = asset.AddActionMap("UI");
    var positionAction = map.AddAction("position");
    var orientationAction = map.AddAction("orientation");
    var clickAction = map.AddAction("click");
    

    positionAction.AddBinding("<TrackedDevice>/devicePosition"); orientationAction.AddBinding("<TrackedDevice>/deviceRotation"); clickAction.AddBinding("<TrackedDevice>/trigger");

    ((InputSystemUIInputModule)EventSystem.current.currentInputModule).trackedDevicePosition = InputActionReference.Create(positionAction); ((InputSystemUIInputModule)EventSystem.current.currentInputModule).trackedDeviceOrientation = InputActionReference.Create(orientationAction); ((InputSystemUIInputModule)EventSystem.current.currentInputModule).leftClick = InputActionReference.Create(clickAction);

    See Also
    trackedDevicePosition

    trackedDevicePosition

    An InputAction delivering a Vector3 value reflecting the position of TrackedDevices. In combination with trackedDeviceOrientation, this is used to determine the transform of tracked devices from which to raycast into the UI scene.

    Declaration
    public InputActionReference trackedDevicePosition { get; set; }
    Property Value
    Type Description
    InputActionReference
    Remarks

    trackedDeviceOrientation and trackedDevicePosition together replace point for UI input from TrackedDevice. Other than that, UI input for tracked devices is no different from "normal" pointer-type input. This means that leftClick, rightClick, middleClick, and scrollWheel can all be used for tracked device input like for regular pointer input.

    This action should have its type set to PassThrough and its expectedControlType set to "Vector3".

    var asset = ScriptableObject.Create<InputActionAsset>();
    var map = asset.AddActionMap("UI");
    var positionAction = map.AddAction("position");
    var orientationAction = map.AddAction("orientation");
    var clickAction = map.AddAction("click");
    

    positionAction.AddBinding("<TrackedDevice>/devicePosition"); orientationAction.AddBinding("<TrackedDevice>/deviceRotation"); clickAction.AddBinding("<TrackedDevice>/trigger");

    ((InputSystemUIInputModule)EventSystem.current.currentInputModule).trackedDevicePosition = InputActionReference.Create(positionAction); ((InputSystemUIInputModule)EventSystem.current.currentInputModule).trackedDeviceOrientation = InputActionReference.Create(orientationAction); ((InputSystemUIInputModule)EventSystem.current.currentInputModule).leftClick = InputActionReference.Create(clickAction);

    See Also
    trackedDeviceOrientation

    xrTrackingOrigin

    A Transform representing the real world origin for tracking devices. This is used to convert real world positions and rotations for Tracked pointers into Unity's global space. When using the XR Interaction Toolkit, this should be pointing to the XR Rig's Transform.

    Declaration
    public Transform xrTrackingOrigin { get; set; }
    Property Value
    Type Description
    Transform
    Remarks

    This will transform all tracked pointers. If unset, or set to null, the Unity world origin will be used as the basis for all tracked positions and rotations.

    Methods

    ActivateModule()

    Called by EventSystem when the input module is made current.

    Declaration
    public override void ActivateModule()
    Overrides
    UnityEngine.EventSystems.BaseInputModule.ActivateModule()

    AssignDefaultActions()

    Declaration
    public void AssignDefaultActions()

    Awake()

    Declaration
    protected override void Awake()
    Overrides
    UnityEngine.EventSystems.UIBehaviour.Awake()

    GetLastRaycastResult(int)

    Returns the most recent raycast information for a given pointer or touch.

    Declaration
    public RaycastResult GetLastRaycastResult(int pointerOrTouchId)
    Parameters
    Type Name Description
    int pointerOrTouchId

    ID of the pointer or touch. Meaning this should correspond to either PointerEventData.pointerId or touchId. The pointer ID generally corresponds to the deviceId of the pointer device. An exception to this are touches as a Touchscreen may have multiple pointers (one for each active finger). For touch, you can use the touchId of the touch.

     Negative values will return an invalid <xref href="UnityEngine.EventSystems.RaycastResult" data-throw-if-not-resolved="false"></xref>.
    
    Returns
    Type Description
    RaycastResult

    The most recent raycast information.

    Remarks

    This method is for the most recent raycast, but depending on when it's called is not guaranteed to be for the current frame. This method can be used to determine raycast distances and hit information for visualization.
    Use UnityEngine.EventSystems.RaycastResult.isValid to determine if pointer hit anything.

    See Also
    touchId
    deviceId

    IsPointerOverGameObject(int)

    Check whether the given pointer or touch is currently hovering over a GameObject.

    Declaration
    public override bool IsPointerOverGameObject(int pointerOrTouchId)
    Parameters
    Type Name Description
    int pointerOrTouchId

    ID of the pointer or touch. Meaning this should correspond to either PointerEventData.pointerId or touchId. The pointer ID generally corresponds to the deviceId of the pointer device. An exception to this are touches as a Touchscreen may have multiple pointers (one for each active finger). For touch, you can use the touchId of the touch.

     Note that for touch, a pointer will stay valid for one frame before being removed. In other words,
     when <xref href="UnityEngine.InputSystem.TouchPhase.Ended" data-throw-if-not-resolved="false"></xref> or <xref href="UnityEngine.InputSystem.TouchPhase.Canceled" data-throw-if-not-resolved="false"></xref> is received for a touch
     and the touch was over a <code>GameObject</code>, the associated pointer is still considered over that
     object for the frame in which the touch ended.
    
     To check whether any pointer is over a <code>GameObject</code>, simply pass a negative value such as -1.
    
    Returns
    Type Description
    bool

    True if the given pointer is currently hovering over a GameObject.

    Overrides
    BaseInputModule.IsPointerOverGameObject(int)
    Remarks

    The result is true if the given pointer has caused an IPointerEnter event to be sent to a GameObject.

    This method can be invoked via EventSystem.current.IsPointerOverGameObject.

    Be aware that this method relies on state set up during UI event processing that happens in EventSystem.Update, that is, as part of MonoBehaviour updates. This step happens after input processing. Thus, calling this method earlier than that in the frame will make it poll state from last frame.

    Calling this method from within an InputAction callback (such as performed) will result in a warning. See the "UI vs Game Input" sample shipped with the Input System package for how to deal with this fact.

    // In general, the pointer ID corresponds to the device ID:
    EventSystem.current.IsPointerOverGameObject(XRController.leftHand.deviceId);
    EventSystem.current.IsPointerOverGameObject(Mouse.current.deviceId);
    

    // For touch input, pass the ID of a touch: EventSystem.current.IsPointerOverGameObject(Touchscreen.primaryTouch.touchId.ReadValue());

    // But can also pass the ID of the entire Touchscreen in which case the result // is true if any touch is over a GameObject: EventSystem.current.IsPointerOverGameObject(Touchscreen.current.deviceId);

    // Finally, any negative value will be interpreted as "any pointer" and will // return true if any one pointer is currently over a GameObject: EventSystem.current.IsPointerOverGameObject(-1); EventSystem.current.IsPointerOverGameObject(); // Equivalent.

    See Also
    touchId
    deviceId

    OnDestroy()

    Declaration
    protected override void OnDestroy()
    Overrides
    UnityEngine.EventSystems.UIBehaviour.OnDestroy()

    OnDisable()

    Declaration
    protected override void OnDisable()
    Overrides
    UnityEngine.EventSystems.BaseInputModule.OnDisable()

    OnEnable()

    Declaration
    protected override void OnEnable()
    Overrides
    UnityEngine.EventSystems.BaseInputModule.OnEnable()

    Process()

    Process the current tick for the module.

    Declaration
    public override void Process()
    Overrides
    UnityEngine.EventSystems.BaseInputModule.Process()

    Reset()

    Declaration
    protected override void Reset()
    Overrides
    UnityEngine.EventSystems.UIBehaviour.Reset()

    UnassignActions()

    Remove all action assignments, that is actionsAsset as well as all individual actions such as leftClick.

    Declaration
    public void UnassignActions()
    Remarks

    If the current actions were enabled by the UI input module, they will be disabled in the process.

    See Also
    AssignDefaultActions()
    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)