bevyengine / bevyengine/bevy

Mutually Exclusive Components

Open
#23,569 9 comments 7 reactions 0 assignees View on GitHub
A-ECS C-Goal S-Waiting-on-SME X-Needs-SME
Dominant language
Rust
Stars
48.2k
Forks
4.8k
Avg merge
3d 22h
Merged PRs (30d)
161

Description

## Goal Description

Certain components in an ECS can be used to define variants of some behavior and shouldn't exist on the same entity (like `RigidBody` and `StaticBody` in a physics engine). Bevy should have an ergonomic way to represent these types of components while taking advantage of the parallel execution of systems with components that are mutually exclusive.

## Goal Status

This is a potential [Bevy Project Goal](https://bevy.org/learn/contribute/project-information/project-goals/). Its state on the [Project Goals Board](https://github.com/orgs/bevyengine/projects/23/views/1) determines if it is Proposed, Postponed, Blocked (Approved), Inactive (Approved), Active (Approved), Completed, or Declined.

- **Staffing SMEs**: Not yet staffed
- **Working Group Link**: Working Group not yet formed
- **Design Documents**: Design documents not yet written

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.