Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


ScheduleByRef<T>(ref T, int, JobHandle)

Schedules the job for execution on a worker thread.
Read time 1 minuteLast updated 12 days ago

Definition

  • Type: Method
  • Namespace: Unity.Jobs
  • Assembly: UnityEngine.CoreModule

ScheduleByRef<T>(T, int, JobHandle)

public static JobHandle ScheduleByRef<T>(this ref T jobData, int arrayLength, JobHandle dependency) where T : struct, IJobFor

Parameters

jobData

T
The job and data to schedule.

arrayLength

This job's Execute method will be called this many times, with its index argument ranging from 0 to (arrayLength - 1). Typically, this corresponds to the length of an array or array-like container passed in the job struct, but this is not necessarily the case.

dependency

The JobHandle of the job's dependency. You can use dependencies to make sure that a job executes on worker threads after the dependency has completed execution and two jobs that read or write to same data don't run in parallel.

Returns

Type

Description

JobHandleThe JobHandle of the scheduled job. You can use the
JobHandle
as a dependency for a later job or to make sure that the job completes on the main thread.

Remarks

This variant passes the job struct by reference instead of by value, which can be faster than IJobForExtensions.Schedule for larger job structs. Note that worker threads always operate on a local copy of the job struct.
This variant processes all loop elements in a single worker thread. To distribute the work across multiple worker threads, use IJobForExtensions.ScheduleParallelByRef.
Additional Resources: IJobFor.