public void Execute(ArchetypeChunk batchInChunk, int batchIndex) { bool chunkHasChanges = batchInChunk.DidChange(LocalToWorldTypeHandleInfo, L2WChangeVersion); if (!chunkHasChanges) { return; // early out if the chunk transforms haven't changed } NativeArray <LocalToWorld> transforms = batchInChunk.GetNativeArray <LocalToWorld>(LocalToWorldTypeHandleInfo); UnityEngine.Bounds bounds = new UnityEngine.Bounds(); bounds.center = transforms[0].Position; for (int i = 1; i < transforms.Length; i++) { bounds.Encapsulate(transforms[i].Position); } batchInChunk.SetChunkComponentData( ChunkAabbTypeHandleInfo, new ChunkAABB() { Value = bounds.ToAABB() }); }