bevy-ecs-systems
Installation
SKILL.md
Bevy 0.19 — ECS Systems (params, sets, run conditions)
When to use this skill
- Bundling related state into a single system parameter via
#[derive(SystemParam)]. - Grouping systems into a
SystemSetso callers can order against the whole group. - Gating systems with run conditions (
run_if,on_message,in_state,resource_exists,any_with_component). - Hooking into state transitions with
OnEnter(S)/OnExit(S)/OnTransition { from, to }. - Hot-removing systems at runtime (e.g. tearing down a debug overlay) with
remove_systems_in_set. - Hitting
ScheduleBuildErrorambiguity panics — the executor no longer guesses.
Canonical pattern
use bevy::ecs::system::SystemParam;
use bevy::prelude::*;
#[derive(SystemSet, Hash, PartialEq, Eq, Clone, Debug)]
enum GameLoop { Input, Simulate, Render }