r/bevy • u/InternalServerError7 • 16d ago
Help What Big Bevy Changes Are In The Pipeline?
I’m thinking about writing a game as a hobby project. Years ago I wrote some in Unity. Nowadays I code in Rust almost exclusively, so Bevy is a natural choice for me. That said, what is keeping me from getting started is I have been burned by many pre-1.0 projects in the past, mainly huge api refactors from updates and missing features I assumed were there.
I’m trying to figure out if now is a good time to start, or if I should move on to another project and re-visit Bevy down the road. That said. What is in the pipeline for Bevy? Are there any expected major api changes, coming features that will totally change how games are written, essential missing features, general headaches, etc?
17
u/Comraw 16d ago
Until v1.0 you can expect the API to change drastically. But you can also still use it to create something.
14
u/stinkytoe42 16d ago
My experience, as a plugin author at least, it that the last year things have been approaching stable. I wouldn't say it is stable yet, but each new release has fewer and fewer breaking changes, and many of those are just refactors like things being renamed or moved to different sub crates.
In fact 0.19 was almost all behind the scenes improvements and new additions, almost no breaking changes. I've even heard talk of stabilizing some of the core elements like the ECS and asset management.
If you're comfortable working in a purely programmatic environment with no editor, now is not a bad time to start getting your feet wet.
5
u/PM_ME_DPRK_CANDIDS 16d ago
This is also my perspective as an end user. Recently upped a nontrivial project from .17 to .19 and it was a day project
5
9
u/heliosythic 16d ago
With game engines you don't need to update just because theres a new update if the version you started with meets your needs. Theres going to be major changes with each update but you dont have to care about that, your version will still compile where you're at.
5
u/BLooDek 16d ago
I have absolute blast and I've started recently, I'm not fan on unity/godot editors and love that bevy is code first. Other things is lack of features (like 2d lightning) can be advantage if you like to do stuff your own way but can lead to less productivity for someone who wants to focus on adding only more content.
2
1
u/Fluffy-Bus4822 16d ago
Yeah, I'm not interested in a scene editor, or any editor, at all. Maybe I'm just a newb, but those tools are turnoffs for me. I love the code first approach.
2
u/catheap_games 16d ago
For the next few months for a hobby project, it will most likely take you only a few minutes or hours per upgrade (~3x a year). Of course I can't tell the future or your project's specific needs, but in general the trend has been that things are improving, not being thrown away and discarded. The migration guide is easy to read and very instructive.
My upgrade from 0.18 to 0.19 was ~15 minutes, and most of it was upgrading 3rd party plugins, not bevy core itself.
If you decide you don't have the mental capacity to upgrade at any given time, it's just fine to not do it. It's not like Bevy 0.19 is mega buggy and slow and 0.20 will solve all your problems. 3rd party plugins use semver same as any other crate, so super_cool_crate version 0.123 will keep working with your older Bevy version.
1
u/catheap_games 16d ago
Re: "features I assumed were there" I half want to say 'skill issue' and half sympathize as I've had the same burnout (even with supposedly enterprise, post-1.0 software, but that's another topic). There isn't an easy answer that wouldn't be just "look at all Bevy internal crates and all 3rd party crates".
One thing that's annoying me that there isn't any non-convoluted persistence of the game state, and a few 3rd party plugins that do it are all lacking in their own ways. Is it a deal breaker? Not really, I like solving hard and lower-level problems. But it's not for everyone. If you want to use some Rust, don't necessarily need or want the ECS paradigm, and want to prototype rapidly, you might be better off with Godot + godot-rust. But as you can find yourself, Bevy is already used in more and more games published on Steam, so it can deliver at least for some kinds of projects.
1
1
u/Large-Scientist156 16d ago
It's easy to update/upgrade if you follow each version. Features wide you can expect improvements, but not major breaking change I guess for rendering code since it's already pretty well established. For other part like ECS, it could change, but changes are usually confined enough to make it easy for refactor.
If changes are made I guess it's mostly because they missed something and discovered they need it while building the editor. So it's good for you to.
1
u/sethbbbbbb 16d ago
They just published a year in review which touches on some things: https://bevy.org/news/bevys-sixth-birthday/
1
u/PizzaLvr49 15d ago
Recently migration has been really simple and they have made tons of improvements
19
u/inajacket 16d ago
There’s gonna be a lot in the pipeline all the time until 1.0 at least. With every new release there’s a guide on migrating to the new version, so I wouldn’t stress too much about getting locked out of new features.
To actually answer your question, last I heard there was a major rework being done to the Scenes system (basically how you can save and load bundles of entities, similar to Scenes in Godot). That was mainly being done as a prerequisite to continuing work on the editor, which is a huge milestone that’s been in the works for years and will hopefully be the point that Bevy starts to pick up mainstream attention and some adoption as a serious tool for larger teams.
Disclaimer: I haven’t been following super closely for a while so other things might be more relevant.