diff --git a/crates/bevy_transform/src/lib.rs b/crates/bevy_transform/src/lib.rs index 97dd09ed24bd2..919406e792928 100644 --- a/crates/bevy_transform/src/lib.rs +++ b/crates/bevy_transform/src/lib.rs @@ -8,6 +8,7 @@ pub mod prelude { use bevy_app::{prelude::*, startup_stage}; use bevy_ecs::IntoSystem; +use bevy_ecs::ParallelSystemDescriptorCoercion; use bevy_reflect::RegisterTypeBuilder; use prelude::{parent_update_system, Children, GlobalTransform, Parent, PreviousParent, Transform}; @@ -22,15 +23,27 @@ impl Plugin for TransformPlugin { .register_type::() .register_type::() // add transform systems to startup so the first update is "correct" - .add_startup_system_to_stage(startup_stage::POST_STARTUP, parent_update_system.system()) .add_startup_system_to_stage( startup_stage::POST_STARTUP, - transform_propagate_system::transform_propagate_system.system(), + parent_update_system.system().label("parent_update_system"), + ) + .add_startup_system_to_stage( + startup_stage::POST_STARTUP, + transform_propagate_system::transform_propagate_system + .system() + .label("transform_propagate_system") + .after("parent_update_system"), + ) + .add_system_to_stage( + stage::POST_UPDATE, + parent_update_system.system().label("parent_update_system"), ) - .add_system_to_stage(stage::POST_UPDATE, parent_update_system.system()) .add_system_to_stage( stage::POST_UPDATE, - transform_propagate_system::transform_propagate_system.system(), + transform_propagate_system::transform_propagate_system + .system() + .label("transform_propagate_system") + .after("parent_update_system"), ); } }