bevyengine / bevyengine/bevy

Move events into their own crate

Open
#11,088 4 comments 3 reactions 0 assignees View on GitHub
A-ECS C-Code-Quality S-Ready-For-Implementation X-Needs-SME
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?

## What problem does this solve or what need does it fill?

Events in `bevy_ecs` can and should be implemented freely by consumers: many possible variations exist (clearing strategies, parallel but unordered writes, single consumer).

By including them within `bevy_ecs`, we:

1. Risk introducing internal coupling by relying on crate-private APIs.
2. Suggest to end users that they can't and shouldn't write their own alternatives.
3. Clutter `bevy_ecs`, increasing complexity and compile times for both users and maintainers.

## What solution would you like?

Move events into their own `bevy_events` crate.

## What alternative(s) have you considered?

Leave it as is.

## Additional context

#11087 proposes something equivalent for states.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.