Skip to content

Third-party plugin docs should encourage more granular dependencies #6913

Open
@james7132

Description

@james7132

How can Bevy's documentation be improved?

The current third-party plugin guidelines suggest using bevy as the core dependency. This potentially introduces a heavy compile time bottleneck on the top level crate, which is exacerbated as there are some heavy dependencies in tree (i.e. serde and wgpu). This is likely to get progressively worse as the size and complexity of first party crates grows along with the ecosystem. Likewise, it also encourages plugin developers to target features on bevy instead of individual crates, leading to issues like #5753. To avoid this bottleneck, we should encourage plugin developers to directly depend on lower level bevy_* crates instead.

As @mockersf has noted here, this does break potential discoverability via https://lib.rs/crates/bevy/rev. This is, however, potentially mitigated by encouraging plugin developers to take bevy on as a dev-dependency instead, for ease of use when making examples and tests.

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-MetaAbout the project itselfC-DocsAn addition or correction to our documentationD-StraightforwardSimple bug fixes and API improvements, docs, test and examplesX-ControversialThere is active debate or serious implications around merging this PR

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions