Skip to content

Implementation of Dynamic Plugins#21252

Draft
radiantgurl wants to merge 4 commits intobevyengine:mainfrom
radiantgurl:dynamic-plugins
Draft

Implementation of Dynamic Plugins#21252
radiantgurl wants to merge 4 commits intobevyengine:mainfrom
radiantgurl:dynamic-plugins

Conversation

@radiantgurl
Copy link

Depends on #20975, #21239 and #20298

Objective

  • Implements a way to have dynamically installable and removable plugins for Bevy

Solution

  • Implements two new functions on the Plugin trait: fn is_dynamic(&self) -> bool and fn remove(&self, app: &mut App)

Testing

  • Not tested at the moment

@alice-i-cecile alice-i-cecile added A-App Bevy apps and plugins X-Needs-SME This type of work requires an SME to approve it. M-Release-Note Work that should be called out in the blog due to impact S-Needs-Review Needs reviewer attention (from anyone!) to move forward labels Sep 28, 2025
@github-actions
Copy link
Contributor

It looks like your PR has been selected for a highlight in the next release blog post, but you didn't provide a release note.

Please review the instructions for writing release notes, then expand or revise the content in the release notes directory to showcase your changes.

Copy link
Member

@alice-i-cecile alice-i-cecile left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Quick review thoughts from Discord:

[21:24]Alice 🌹
: Generally quite reluctant to add any features / encouragement to use subapps frankly
[21:25]Alice 🌹
: They are a major area of tech debt, and I have been unimpressed with the core architecture around them
[21:25]Alice 🌹
: Similarly for adding more features / complexity to plugins
[21:26]Alice 🌹
: I'm pleased that there's an example, but the example still doesn't motivate "why" you would ever want to modify a subapp at runtime

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-App Bevy apps and plugins M-Release-Note Work that should be called out in the blog due to impact S-Needs-Review Needs reviewer attention (from anyone!) to move forward X-Needs-SME This type of work requires an SME to approve it.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants