bevyengine / bevyengine/bevy

`bevy_ui` camera special-casing causes problems

Open
#9,483 1 comment 0 reactions 0 assignees View on GitHub
A-Rendering A-UI C-Feature
Dominant language
Rust
Stars
48.2k
Forks
4.8k
Avg merge
3d 22h
Merged PRs (30d)
161

Description

I was surprised to learn that bevy ui does not simply have a dedicated camera that can be ordered/layered amongst all other cameras. Instead, bevy_ui automatically piggybacks on all cameras, and must be enabled/disabled.

Working on my picking plugin, I need a way to aggregate hit tests across many cameras for a given render target. However, because bevy_ui is special, I cannot do this without leaking bevy_ui specific constraints into the picking plugin.

I don't think this design decision is necessary, and if anything adds complexity instead of removing it. I am able to work with egui and other third party UI systems because they are not special, they follow the same rules as everything else and need their own camera that is ordered.

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.