diff --git a/crates/bevy_render/src/render_component.rs b/crates/bevy_render/src/render_component.rs index 1c72786f89f160..d6a72e337c4c7e 100644 --- a/crates/bevy_render/src/render_component.rs +++ b/crates/bevy_render/src/render_component.rs @@ -111,14 +111,19 @@ fn prepare_uniform_components( C: AsStd140 + Clone, { component_uniforms.uniforms.clear(); - for (entity, component) in components.iter() { - commands - .get_or_spawn(entity) - .insert(DynamicUniformIndex:: { - index: component_uniforms.uniforms.push(component.clone()), - marker: PhantomData, - }); - } + let entities = components + .iter() + .map(|(entity, component)| { + ( + entity, + (DynamicUniformIndex:: { + index: component_uniforms.uniforms.push(component.clone()), + marker: PhantomData, + },), + ) + }) + .collect::>(); + commands.insert_or_spawn_batch(entities); component_uniforms .uniforms