diff --git a/crates/bevy_picking/src/events.rs b/crates/bevy_picking/src/events.rs index 29405099f66ad..9a5bc51babe79 100644 --- a/crates/bevy_picking/src/events.rs +++ b/crates/bevy_picking/src/events.rs @@ -527,11 +527,7 @@ pub fn pointer_events( for button in PointerButton::iter() { let state = pointer_state.get_mut(pointer_id, button); - for drag_target in state - .dragging - .keys() - .filter(|&&drag_target| hovered_entity != drag_target) - { + for drag_target in state.dragging.keys() { state.dragging_over.insert(hovered_entity, hit.clone()); let drag_enter_event = Pointer::new( pointer_id, diff --git a/release-content/migration-guides/dragenter_includes_dragged_entity.md b/release-content/migration-guides/dragenter_includes_dragged_entity.md new file mode 100644 index 0000000000000..37fb022d58be8 --- /dev/null +++ b/release-content/migration-guides/dragenter_includes_dragged_entity.md @@ -0,0 +1,8 @@ +--- +title: DragEnter now includes the dragged entity +pull_requests: [19179] +--- + +DragEnter events are now triggered when entering any entity, even the originally dragged one. This makes the behavior more consistent. + +The old behavior can be achieved by checking if trigger.target != trigger.dragged