diff --git a/crates/bevy_ecs/src/system/system_param.rs b/crates/bevy_ecs/src/system/system_param.rs index fda3684e6e..d4561740d6 100644 --- a/crates/bevy_ecs/src/system/system_param.rs +++ b/crates/bevy_ecs/src/system/system_param.rs @@ -49,6 +49,18 @@ pub trait SystemParam: Sized { /// Additionally, it is the implementor's responsibility to ensure there is no /// conflicting access across all SystemParams. pub unsafe trait SystemParamState: Send + Sync + 'static { + /// Values of this type can be used to adjust the behavior of the + /// system parameter. For instance, this can be used to pass + /// values from a `Plugin` to a `System`, or to control the + /// behavior of the `System`. + /// + /// The default configuration of the parameter is set by + /// [`SystemParamState::default_config`]. To change it, invoke + /// [`FunctionSystem::config`](super::FunctionSystem::config) when + /// creating the system. + /// + /// See [`FunctionSystem::config`](super::FunctionSystem::config) + /// for more information and examples. type Config: Send + Sync; fn init(world: &mut World, system_state: &mut SystemState, config: Self::Config) -> Self; #[inline]