# JobsUtility

> Provides methods for creating, running, and debugging jobs.

## Definition

* **Type:** Class
* **Namespace:** [Unity.Jobs.LowLevel.Unsafe](/engine/6000.7/script-reference/unity/jobs/lowlevel/unsafe.md)
* **Assembly:** UnityEngine.ManagedKernelModule

```csharp
public static class JobsUtility
```

## Static Fields

| Value                                                                                                            | Description                                                       |
| ---------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------- |
| [CacheLineSize](/engine/6000.7/script-reference/unity/jobs/lowlevel/unsafe/jobsutility/cachelinesize.md)         | The size of a cache line.                                         |
| [MaxJobThreadCount](/engine/6000.7/script-reference/unity/jobs/lowlevel/unsafe/jobsutility/maxjobthreadcount.md) | The maximum number of job threads that the job system can create. |

## Static Properties

| Property                                                                                                                 | Description                                                                     |
| ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------- |
| [IsExecutingJob](/engine/6000.7/script-reference/unity/jobs/lowlevel/unsafe/jobsutility/isexecutingjob.md)               | Checks if this is in a job.                                                     |
| [JobCompilerEnabled](/engine/6000.7/script-reference/unity/jobs/lowlevel/unsafe/jobsutility/jobcompilerenabled.md)       | Set whether to run jobs in Mono or Burst.                                       |
| [JobDebuggerEnabled](/engine/6000.7/script-reference/unity/jobs/lowlevel/unsafe/jobsutility/jobdebuggerenabled.md)       | Set whether to use the jobs debugger at runtime.                                |
| [JobWorkerCount](/engine/6000.7/script-reference/unity/jobs/lowlevel/unsafe/jobsutility/jobworkercount.md)               | Current number of worker threads available to the Unity JobQueue.               |
| [JobWorkerMaximumCount](/engine/6000.7/script-reference/unity/jobs/lowlevel/unsafe/jobsutility/jobworkermaximumcount.md) | Maximum number of worker threads available to the Unity JobQueue (Read Only).   |
| [ThreadIndex](/engine/6000.7/script-reference/unity/jobs/lowlevel/unsafe/jobsutility/threadindex.md)                     | Gets the index for the current thread when executing a job, otherwise 0.        |
| [ThreadIndexCount](/engine/6000.7/script-reference/unity/jobs/lowlevel/unsafe/jobsutility/threadindexcount.md)           | Gets the maximum number of job workers that can work on a job at the same time. |

## Static Methods

| Method                                                                                                                                                 | Description                                                                                                                                                            |
| ------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [CreateJobReflectionData](/engine/6000.7/script-reference/unity/jobs/lowlevel/unsafe/jobsutility/createjobreflectiondata.md)                           | Creates job reflection data.                                                                                                                                           |
| [GetJobRange](/engine/6000.7/script-reference/unity/jobs/lowlevel/unsafe/jobsutility/getjobrange.md)                                                   | Gets the begin index and end index of a range.                                                                                                                         |
| [GetWorkStealingRange](/engine/6000.7/script-reference/unity/jobs/lowlevel/unsafe/jobsutility/getworkstealingrange.md)                                 | Gets a work stealing range.                                                                                                                                            |
| [PatchBufferMinMaxRanges](/engine/6000.7/script-reference/unity/jobs/lowlevel/unsafe/jobsutility/patchbufferminmaxranges.md)                           | Injects debug checks for min and max ranges of a native array.                                                                                                         |
| [ResetJobWorkerCount](/engine/6000.7/script-reference/unity/jobs/lowlevel/unsafe/jobsutility/resetjobworkercount.md)                                   | Reset [JobsUtility.JobWorkerCount](/engine/6000.7/script-reference/unity/jobs/lowlevel/unsafe/jobsutility/jobworkercount.md) to the Unity adjusted value.              |
| [Schedule](/engine/6000.7/script-reference/unity/jobs/lowlevel/unsafe/jobsutility/schedule.md)                                                         | Schedules a single [IJob](/engine/6000.7/script-reference/unity/jobs/ijob.md).                                                                                         |
| [ScheduleParallelFor](/engine/6000.7/script-reference/unity/jobs/lowlevel/unsafe/jobsutility/scheduleparallelfor.md)                                   | Schedules a [IJobParallelFor](/engine/6000.7/script-reference/unity/jobs/ijobparallelfor.md) job.                                                                      |
| [ScheduleParallelForDeferArraySize](/engine/6000.7/script-reference/unity/jobs/lowlevel/unsafe/jobsutility/scheduleparallelfordeferarraysize.md)       | Schedules a [IJobParallelFor](/engine/6000.7/script-reference/unity/jobs/ijobparallelfor.md) job.                                                                      |
| [ScheduleParallelForTransform](/engine/6000.7/script-reference/unity/jobs/lowlevel/unsafe/jobsutility/scheduleparallelfortransform.md)                 | Schedules an [IJobParallelForTransform](/engine/6000.7/script-reference/unityengine/jobs/ijobparallelfortransform.md) job.                                             |
| [ScheduleParallelForTransformReadOnly](/engine/6000.7/script-reference/unity/jobs/lowlevel/unsafe/jobsutility/scheduleparallelfortransformreadonly.md) | Schedules an [IJobParallelForTransform](/engine/6000.7/script-reference/unityengine/jobs/ijobparallelfortransform.md) job with read-only access to the transform data. |

## Structs

| Struct                                                                                                                               | Description                             |
| ------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------- |
| [JobsUtility.JobScheduleParameters](/engine/6000.7/script-reference/unity/jobs/lowlevel/unsafe/jobsutility/jobscheduleparameters.md) | Provides job parameters for scheduling. |
