Description
What problem does this solve or what need does it fill?
A common complaint from Bevy users is the relatively high iteration time. Hotpatching is a nice solution for this, as it allows code changes to affect the running binary.
What solution would you like?
While many things can be hotpatched, I think implementing it for systems is a nice start. This way, users could already start live-editing their UIs by changing a system that re-inserts a UI node hierarchy in Update
, for example.
What alternative(s) have you considered?
- Don't implement it
- Start with hotpatching another area of Bevy
- Leave it to third-party crates like dextrous-developer
Additional context
Recently, Dioxus has released an alpha of subsecond, which implements exactly this. One of their explicit goals is to make this technology available for other frameworks such as Bevy.
If we go this route, there is already a Bevy integration demo. Per @jkelleyrtp, this is not meant as a long-term end-user API, but to give Bevy maintainers and early adopters today an example of how to wire stuff up. We need to spend some time working on the integration between the two, in order to ensure it is safe.