finds.dev← search

// the find

aevyrie/bevy_mod_picking

★ 841 · Rust · Apache-2.0 · updated Mar 2025

Picking and pointer events for Bevy

Picking and pointer events for Bevy. It lets you attach `On::<Pointer<Click>>`-style listeners to any entity and feeds mouse, touch, or custom input through swappable hit-test backends such as rapier, egui, bevy_ui, and raycast. The repo is archived because the feature was upstreamed in Bevy 0.15, so it mainly matters if you are still on Bevy 0.14 or want to see how the picking pipeline was designed.

Each backend is its own crate, so a project compiles only the hit tests it uses, and the core crate avoids external dependencies. Events bubble from the hit entity up the hierarchy, and listeners can be plain systems or helpers like `target_component_mut`, which keeps simple interactions short. The README says the backend API fits in about 100 lines, and the examples directory covers the awkward cases directly (multiple windows, render to texture, split screen, camera order), which is more useful than a feature list.

The repo is archived and last pushed in March 2025, and the Bevy version table stops at 0.14, so anything new should target `bevy_picking` in Bevy itself. Moving from this crate to the upstream API is a rewrite of the listener layer, not a version bump. The listener model depends on the separate bevy_eventlistener crate, so a breaking change there can break this one without any change here. Each backend pulls in its own physics or UI crate, and the single version table only covers Bevy, so mixing backends means matching several dependency versions by hand.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →