bevyengine / bevyengine/bevy

System sets need docs

Open
#11,806 0 comments 8 reactions 0 assignees View on GitHub
A-ECS C-Docs
Dominant language
Rust
Stars
48.2k
Forks
4.8k
Avg merge
3d 22h
Merged PRs (30d)
161

Description

I would have expected a `SystemSet` to be some sort of container type that you can add and remove systems to/from, just from it's name, but that couldn't be further from the truth.

Unfortunately, [the docs](https://dev-docs.bevyengine.org/bevy/ecs/schedule/trait.SystemSet.html) identify a `SystemSet` as "Types that identify logical groups of systems." and no more.

Finding [an example](https://github.com/bevyengine/bevy/blob/main/examples/ecs/ecs_guide.rs#L243) does seem to illustrate the picture somewhat, and it reveals the existence of a [derive macro](https://dev-docs.bevyengine.org/bevy/ecs/schedule/derive.SystemSet.html), whose docs helpfully inform me that it doesn't work on unions. But does it work on structs? The example seems to imply that `SystemSet` only makes sense for valueless enums, unless each different value of a type is actually a different system set, so it could work to use, say a `struct Foo(u8)` for 255 different system sets? Or, maybe it's just unit structs, actually?

These are the kind of questions I have and would love to see answered by the docs.

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.