I need to verify my understanding of how Unity organizes Chunks in memory. Would the following all be true? 1. In Unity ECS, Chunks are blocks of memory which store the Component Data, for entities of the same archetype (which all have the same components). 2. Adding or removing a Component from an entity changes the entity’s archetype. This will always cause Unity to move the entity’s Components to a different Chunk in memory. 3. Moving entities between Chunks May mean expanding or shrinking the chunk. This is all managed automatically by Unity. - - - Here’s the part I’m confused about: 4. A System can request a collection of entities that all have the specified component types. ***This will return all entities with the specified component types, EVEN IF some of those entities have other component types which are NOT in common.*** - - - If #4 is true, then that would mean a System may often be iterating over entities of different archetypes, which therefore exist in different chunks of memory. That would eliminate the sequential reading of memory, from which ECS derives its largest perf benefit. CPU cache misses seem like they would be unavoidable, and potentially very frequent. Thanks to anyone who can verify what I’ve written here, or tell me what I’m misunderstanding.