
Bevy made me rethink editor-driven game development
I’ve released two games on Steam with Bevy engine so far - Molecoole back in 2022, and more recently Weather Dragger.
I’ve been working in games for 7+ years across in-house C++ engines, Unity, Godot, and game jams. Lately I’ve been defaulting to Bevy whenever I can.
One thing I’ve learned is that for most indie games, the engine matters way less than people think. Workflow and code structure matter far more.
Bevy often gets criticized for not having an editor, but I think that’s actually a strength. I still use tools like Tiled, LDtk, and Blender for content creation, but I prefer keeping core game logic in code rather than editor-bound scenes or prefabs.
It makes everything easier to search, refactor, and scale. Fonts, camera settings, UI values - just centralize them and change once. I also use spawn functions for entities like enemies or buildings, which effectively replaces prefabs but stays fully code-driven.
For indie projects, I don’t really think you need a big editor workflow most of the time. The main exception is working closely with artists who prefer visual tools—but even then, external tools usually cover it.
Bevy’s ECS also makes collaboration smoother than I expected. Small, isolated systems mean fewer merge conflicts and easier parallel work.
If you haven’t tried it, building a small game fully in code is a really useful exercise. It quickly shows what parts of an editor workflow you actually depend on - and what you don’t.
Some examples from my smaller Bevy projects (dev time was under a month for each game):
- Bean Football - doesn’t really have a “map” - just added the boundaries via code
- The End is Bean - all resources are placed via code.
- Bean Defender - built using Blender scenes together with Bevy.
And finally: the crate ecosystem is awesome. Tweening, particles, navigation, text animations - there are so many great open-source tools available for free.
So yeah: use Bevy - participate in game jams and don’t be afraid to try new things! :)