3 ms·
Lead Bevy developer/project lead here. Let me know if you have any questions!
by _cart 6y ago
Lead Bevy developer/project lead here. Let me know if you have any questions!
- allanjansen2 6y agoWhat do you think of Unity's ECS approach, and how are you approaching it differently with Bevy?
- _cart 6y agoFirst: I won't pretend to be a Unity DOTS expert, but I have worked with it briefly. There are many similarities: 1. The general data model: entities, components, systems 2. Running systems in parallel 3. Archetypal ECS: a specific ECS storage strategy that groups entities of the same "data layout" together to increase cache friendliness during iteration. Bevy has a lot of query/filtering/change detection features that I haven't seen implemented the same way elsewhere. But I can't comment on whether or not Unity DOTS has those features because I don't have enough experience with it. I think we differ the most in UX. Wild (hard to verify) claim: I think Bevy has the most ergonomic ECS in existence. If you compare a Unity example (https://github.com/Unity-Technologies/EntityComponentSystemSamples/tree/master/ECSSamples/Assets/HelloCube https://github.com/Unity-Technologies/EntityComponentSystemS...) to a Bevy example (https://github.com/bevyengine/bevy/blob/master/examples/2d/sprite.rs https://github.com/bevyengine/bevy/blob/master/examples/2d/s...), I think its clear which one is easier to read/write (especially when you factor in the fact that the Bevy example is fully self contained). But its also worth pointing out that Unity is still one of the _more_ ergonomic ECS-es out there. Its still pretty good.
- ForLoveOfCats 6y agoWow! Another very impressive release so soon! I know that Bevy has no builtin physics solution at the moment and read the issue [1]. My understanding is that the plugins for Rapier are the main way to go for now. How "useful" is that situation currently and what are the general long term plans in that area beyond the current experimentation? [1] https://github.com/bevyengine/bevy/issues/83 https://github.com/bevyengine/bevy/issues/83
- _cart 6y agoThanks! The official Bevy Rapier plugin (built by the Rapier team) is definitely your best bet right now. People have been using it with success: https://twitter.com/swainrob/status/1317573306271305733 https://twitter.com/swainrob/status/1317573306271305733, https://github.com/indiv0/colonize/ https://github.com/indiv0/colonize/ The PhysX rust crate also works with Bevy if you want a more "time tested" physics implementation: https://twitter.com/swainrob/status/1317574431666032646 https://twitter.com/swainrob/status/1317574431666032646. But it doesn't have direct integration like the bevy_rapier plugin. Eventually we might implement a built in "high level" physics api, but I'd rather let the 3rd party Bevy physics ecosystem develop for a bit so we know what works and what doesn't. Theres so many other things to do right now that I don't feel much pressure to build the perfect official physics api when other people are already working on great 3rd party solutions for us :)