Expand description

bevy_picking_input is a thin layer that provides unsurprising default inputs to bevy_picking core. The included systems are responsible for sending mouse and touch inputs to their respective Pointers.

Because this resides in its own crate, it’s easy to omit it, and provide your own inputs as needed. Because Pointers aren’t coupled to the underlying input hardware, you can easily mock inputs, and allow users full accessibility to map whatever inputs they need to pointer input.

If, for example, you wanted to add support for VR input, all you need to do is spawn a pointer entity with a custom PointerId, and write a system that updates its position.


  • Debug tools for picking inputs
  • Provides sensible defaults for mouse picking inputs.
  • Provides sensible defaults for touch picking inputs.


  • Adds mouse and touch inputs for picking pointers to your app.
  • Settings for the input plugin to allow enabling or disabling mouse or touch inputs at runtime.