bevyengine / bevyengine/bevy

Component should be removed if any of its required components is removed

Open
#23,393 3 comments 1 reaction 0 assignees View on GitHub
A-ECS C-Bug S-Needs-Goal X-Needs-SME
Dominant language
Rust
Stars
48.2k
Forks
4.8k
Avg merge
3d 16h
Merged PRs (30d)
171

Description

## Bevy version and features

main

## What you did

Insert `Bloom`, then in other system remove `Hdr`. For example change to this in `bloom_3d` example and press space:
```rs
if keycode.just_pressed(KeyCode::Space) {
commands.entity(entity).remove::();
}
```

## What went wrong

wgpu validation error:
```
2026-03-17T01:57:17.882899Z ERROR queue_submit{count=8}: bevy_render::error_handler: Caught rendering error: Validation Error

Caused by:
In Queue::submit
In a set_pipeline command
Render pipeline targets are incompatible with render pass
Incompatible color attachments at indices [0]: the RenderPass uses textures with formats [Some(Rgba8UnormSrgb)] but the RenderPipeline with 'bloom_upsampling_pipeline' label uses attachments with formats [Some(Rgba16Float)]
```

## Additional information

`transmission` example has this behavior (#23142).

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the issue in the bloom_3d example: insert Bloom, remove Hdr after pressing space, and observe the wgpu validation error. Compare this behavior with the transmission example and issue #23142. Done means removing a required component no longer leaves an incompatible render pipeline active.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
computer-graphics, game-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.