Version: Unity 6.1 Alpha (6000.1)
LanguageEnglish
  • C#

IJobParallelForTransformExtensions.ScheduleByRef

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Submission failed

For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

Declaration

public static Unity.Jobs.JobHandle ScheduleByRef(ref T jobData, Jobs.TransformAccessArray transforms, Unity.Jobs.JobHandle dependsOn);

Parameters

jobData The job to schedule.
transforms The TransformAccessArray to run the job on.
dependsOn A JobHandle containing any jobs that must finish executing before this job begins. You can combine multiple jobs with JobHandle.CombineDependencies. Use dependencies to ensure that two jobs that read or write to the same data don't run in parallel.

Returns

JobHandle The handle identifying the scheduled job, which you can as a dependency for a later job or to ensure completion on the main thread.

Description

Schedules an IJobParallelForTransform job with read-write access to the transform data.

To avoid race conditions, this scheduling mode sorts the input transforms by hierarchy. Transforms with a shared root object are always processed on the same thread, though the order of processing within each hierarchy is undefined. Invalid transforms in the input TransformAccessArray are identified during the sorting stage and will not be passed to IJobParallelForTransform.Execute(), so jobs can safely assume that all TransformAccess instances are valid when this scheduling mode is used.

If read-only access to transform data is sufficient, use IJobParallelForTransformExtensions.ScheduleReadOnlyByRef instead.

This variant passes the job struct by reference instead of by value, which can be faster than IJobParallelForTransformExtensions.Schedule for larger job structs. Note that worker threads always operate on a local copy of the job struct.