Modifying multiple meshes with job system (and/or ECS)

I want to procedurally modify a lot of meshes at runtime, and thought I’d look into doing this with the Job System.

If I weren’t using the job system, I would store references to the vertice arrays in some collection, and then loop over each array to modify the vertices therein. So my original thought was to simply do this loop in a job. But, as I’ve come to understand, this isn’t actually possible, since an array of arrays doesn’t count as a blittable type. I’d either have to combine all the vertice arrays into one and then split it up after altering it, which seems rather dangerous, or schedule one job per array. The meshes will probably not be very big, but there’s likely to be a lot of them, and this makes me wonder what sort of overhead the actual scheduling and completing of jobs itself might create.

I’ve started looking into ECS but am not yet familiar enough with it to see if it offers a solution.

So… Anyone got any advice for an ECS/job system newb?

The overhead of a Job is really low, so I think in your case it would give a performance increase, when just create a job for each array, but it also depends on how expensive your operations are. Because the job has his copy of the data, you have to write it back to the original array what is pretty expensive.
(I know this is no real help, the best practice is just to implement some solutions and see what works best)