protected override void OnUpdate() { var addOneTypeHandle = GetComponentTypeHandle <AddOne>(); var addTwoTypeHandle = GetComponentTypeHandle <AddTwo>(); var addThreeTypeHandle = GetComponentTypeHandle <AddThree>(); var addFourTypeHandle = GetComponentTypeHandle <AddFour>(); var dependencies = new NativeArray <JobHandle>(4, Allocator.Temp); var addOneJob = new AddOneJob { addOneTypeHandle = addOneTypeHandle, }; dependencies[0] = addOneJob.ScheduleParallel(m_AddOneGroup, Dependency); var addTwoJob = new AddTwoJob { addTwoTypeHandle = addTwoTypeHandle, }; dependencies[1] = addTwoJob.ScheduleParallel(m_AddTwoGroup, Dependency); var addThreeJob = new AddThreeJob { addThreeTypeHandle = addThreeTypeHandle, }; dependencies[2] = addThreeJob.ScheduleParallel(m_AddThreeGroup, Dependency); var addFourJob = new AddFourJob { addFourTypeHandle = addFourTypeHandle, }; dependencies[3] = addFourJob.ScheduleParallel(m_AddFourGroup, Dependency); Dependency = JobHandle.CombineDependencies(dependencies); }