Provide a precompiled version of bevy for quick development
- Dominant language
- Rust
- Stars
- 48.2k
- Forks
- 4.8k
- Avg merge
- 3d 22h
- Merged PRs (30d)
- 161
Description
## What problem does this solve or what need does it fill?
Right now starting up a new bevy project to do a quick test, prototype or play with it is a toll because the engine needs to be compiled from scratch. I believe this is a friction point for beginners as waiting ~30 minutes for the engine to compile to see a hello world is not a good developer experience
## What solution would you like?
Provide a precompiled version of bevy for these purposes. An idea could be a providing a precompiled dynamic library with default features (2d, 3d, ui, audio) + `dynamic_linking` + `dev`. When the user wants something more custom, in that moment it can commit to building the engine.
## What alternative(s) have you considered?
I thought about precompiling the engine and storing it in a S3 bucket using `sccache`, however I think while it partially solves the problem it adds considerable complexity, infrastructure costs and maintenance from my side (e.g. upgrading bevy/rust version)
## Additional context
For example, in React Native development a similar solution exists, where you use a precompiled "Expo Go" mobile app with commonly used features and modules so you can test and play with the framework quickly, and when you need to add custom modules or you are ready for release the user can build the app from scratch so it fits their needs
Contributor guide
Research direction
Start by reviewing how a new Bevy project currently compiles the engine and how the `dynamic_linking` and `dev` features are configured. Compare the proposed default 2d, 3d, UI, and audio configuration with the existing project setup; done would be a maintained precompiled path for quick prototypes while preserving custom builds.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- build-system, developer-experience
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100