Physics Raycaster
Touch Input Module

Standalone Input Module

The module is designed to work as you would expect a controller / mouse input to work. Events for button presses, dragging, and similar are sent in response to input.

The module sends pointer events to components as a mouse / input device is moved around, and uses the configured in the scene Raycasters to calculate what element is currently pointed at by a given pointer device.

The module sends move events and submit / cancel events in response to Input tracked via the Input manager, this works for both keyboard and controller input. The tracked axis and keys can be configured in the module’s inspector.

Properties

Property: Function:
Script
Horizontal Axis
Vertical Axis
Submit Button
Cancel Button
Input Actions Per Second
Repeat Delay
Force Module Active

Details

The module uses:

  • Vertical / Horizontal axis for keyboard and controller navigation
  • Submit / Cancel button for sending submit and cancel events
  • Has a timeout between events to only allow a maximum number of events a second.

The flow for the module is as follows

  • Send a Move event to the selected object if a valid axis from the input manager is entered
  • Send a submit or cancel event to the selected object if a submit or cancel button is pressed
  • Process Mouse input
    • If it is a new press
      • Send PointerEnter event (sent to every object up the hierarchy that can handle it)
      • Send PointerPress event
      • Cache the drag handler (first element in the hierarchy that can handle it)
      • Send BeginDrag event to the drag handler
      • Set the ‘Pressed’ object as Selected in the event system
    • If this is a continuing press
      • Process movment
      • Send DragEvent to the cached drag handler
      • Handle PointerEnter and PointerExit events if touch moves between objects
    • If this is a release
      • Send PointerUp event to the object that received the PointerPress
      • If the current hover object is the same as the PointerPress object send a PointerClick event
      • Send a Drop event if there was a drag handler cached
      • Send a EndDrag event to teh cached drag handler
    • Process scroll wheel events
Physics Raycaster
Touch Input Module