pub trait DynamicSystemData<'a> {
    type Accessor: Accessor;

    fn setup(accessor: &Self::Accessor, world: &mut World);
    fn fetch(access: &Self::Accessor, world: &'a World) -> Self;
Expand description

A struct implementing system data indicates that it bundles some resources which are required for the execution.

This is the more flexible, but complex variant of SystemData.

Required Associated Types

The accessor of the SystemData, which specifies the read and write dependencies and does the fetching.

Required Methods

Sets up World for fetching this system data.

Creates a new resource bundle by fetching the required resources from the World struct.


Only fetch the resources you returned from reads / writes!


This function may panic if the above contract is violated. This function may panic if the resource doesn’t exist. This is only the case if either setup was not called or it didn’t insert any fallback value.