diff --git a/crates/bevy_ecs/src/system/system_piping.rs b/crates/bevy_ecs/src/system/system_piping.rs index c9be4096c75b13..09533a02c32b50 100644 --- a/crates/bevy_ecs/src/system/system_piping.rs +++ b/crates/bevy_ecs/src/system/system_piping.rs @@ -83,6 +83,12 @@ impl> System for PipeSystem< self.system_b.run_unsafe(out, world) } + // needed to make exclusive systems work + fn run(&mut self, input: Self::In, world: &mut World) -> Self::Out { + let out = self.system_a.run(input, world); + self.system_b.run(out, world) + } + fn apply_buffers(&mut self, world: &mut World) { self.system_a.apply_buffers(world); self.system_b.apply_buffers(world);