I have a system using SystemBase from Entities 0.11 I manually call `Update` on this system multiple times in a frame (its part of a simulation and a simulation may require multiple updates per frame). The `Entities.ForEach` is too costly, especially when the system may only have 1 entity to work on per update. Even with an early return and no work is being done, calling the ForEach adds up. I'm looking for recommendations on how to cache the ForEach query every frame, and reuse it. It would work like this: PreSimulation -> system calls and caches an array of EntityQuery.CreateArchetypeChunkArray SimulationTick -> system Update is triggered, it may manually iterate the array and access components using GetArchetypeChunkComponentType or maybe even create a (non-parallel) job Repeat SimulationTick x times. PostSimulation -> system disposes of the nativearrays and anything else. Note: I do not expect new entities to be introduced during this cycle. I do not expect components to be removed or added during this cycle. I do expect to modify component data during this cycle. I want to keep to option to Burst where possible, but I'd probably leave it to the user. Does this sound reasonable? Suggestions for alternatives besides CreateArchetypeChunkArray ? And while I'm here, may I ask how do you modify component data while using chunks, can you not get a reference to that component somehow to avoid calling SetComponent?