Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Deprecated `Interaction` component cannot be used in 0.20.

Closed Beginner friendly
#26,029 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 2 days

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
72/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
rust
Domain
game-dev

Research direction

The error points at the bevy::bevy_ui::focus module, so read the type declaration of DeprecatedInteraction in crates/bevy_ui/src/focus.rs and the deprecated pub use alias that re-exports it as Interaction (check the module's mod.rs/lib.rs exports). Making the underlying struct pub while keeping #[deprecated] should turn the hard compile error into a warning; confirm with cargo check -p bevy_ui and a small crate that queries Interaction. Done means downstream code using the deprecated name compiles with a deprecation warning rather than a private-type error.

Written by the indexing model from the issue text.

Description

A-Picking A-UI C-Bug D-Trivial S-Ready-For-Implementation

Despite the fact that the Interaction component was deprecated (not removed) in 0.20, it isn't really possible to use. If I have a system that names Interaction, I get the following error:

error: type `bevy::bevy_ui::focus::DeprecatedInteraction` is private
 --> crates/bevy_rerecast_editor/src/theme/interaction.rs:5:5
  |
5 |     app.add_systems(Update, apply_interaction_palette);
  |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ private type

error: type `bevy::bevy_ui::focus::DeprecatedInteraction` is private
  --> crates/bevy_rerecast_editor/src/theme/interaction.rs:21:24
   |
21 |       mut palette_query: Query<
   |  ________________________^
22 | |         (
23 | |             &Interaction,
24 | |             &InteractionPalette,
...  |
28 | |         Or<(Changed<Interaction>, Changed<Pickable>)>,
29 | |     >,
   | |_____^ private type

So we should either make this type pub (and deprecated) so that the deprecation actually works (instead of being a hard error), or we should just delete this type entirely and force a migration.

Dominant language
Rust
Stars
49.2k
Forks
5k
Avg merge
3d 11h
Merged PRs (30d)
136

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from bevyengine/bevy

All issues in bevyengine/bevy

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.