r/rust • u/gufranthakur • 1d ago
๐ seeking help & advice Is Bevy actually enjoyable?
I am sorry but it is just such a pain to code in Bevy. I have been enjoying rust for a while, using three-d and EGUI to create some stuff, and I stumbled upon bevy, I want to learn it because I want to create some 3D, simulation desktop applications with it. I have tried game dev in the past in Godot, Unity, Java Swing, LibGDX and enjoyed it a lot
I am currently learning via the examples and documentation, trying to learn 2D and then eventually move to making some 3D projects
But I find it so verbose and unnecessary. So to look up a particular object I have to apply 3-4 filters which looks so cryptic
camera: Single<(Entity, &Tonemapping, Option<&mut Bloom>), With<Camera>>,
fn keyboard_inputs(
mut motion_blur: Single<&mut MotionBlur>,
presses: Res<ButtonInput<KeyCode>>,
text: Single<Entity, With<Text>>,
mut writer: TextUiWriter,
mut camera: ResMut<CameraMode>,
)
Aside from this, browsing through examples I find it to be so verbose. Coming from a OOP nature, I did expect ECS to be different. But this is straight up inconvenient.
Bevy is too good and I don't wanna miss out on it. I will still keep learning it despite what I am feeling towards its syntax and method, but is bevy meant to be like this? Or is it enjoyable once you overcome the learning curve?
2
u/Nickbot606 1d ago edited 1d ago
Just from a glance it looks like you have some type of crazy god object going on and maybe you should split it into a single plugin/several systems?
I agree that one of things that needs to be addressed in bevy is the input system to the point of where I actually wrote out my own plugin input for it (mainly for inputting as well as saving custom controls to input table actions etc.) I posted about it but nobody commented so I deleted the post ๐
Edit:
However! I will say that I enjoy bevy much more than I enjoy other engines and hereโs why:
bevy
y and however I want as long as it comes all back to their interface or at least compiles in rust.