# Schedule

> Adds an IJobEntity instance to the job scheduler queue for sequential (non-parallel) execution.

## Definition

* **Type:** Method
* **Namespace:** [Unity.Entities](/engine/7000.0/script-reference/unity/entities.md)
* **Assembly:** UnityEngine.EntitiesModule

## Schedule\<T>(T, JobHandle)

Adds an [IJobEntity](/engine/7000.0/script-reference/unity/entities/ijobentity.md) instance to the job scheduler queue for sequential (non-parallel) execution.

```csharp
public static JobHandle Schedule<T>(this T jobData, JobHandle dependsOn) where T : unmanaged, IJobEntity
```

### Parameters

**** (T): An [IJobEntity](/engine/7000.0/script-reference/unity/entities/ijobentity.md) instance.**** (\[JobHandle]\(/engine/7000.0/script-reference/unity/jobs/jobhandle)): The handle identifying already scheduled jobs that could constrain this job. A job that writes to a component cannot run in parallel with other jobs that read or write that component. Jobs that only read the same components can run in parallel.

### Returns

| Type                                                                 | Description                                                                                                |
| -------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- |
| [JobHandle](/engine/7000.0/script-reference/unity/jobs/jobhandle.md) | A handle that combines the current Job with previous dependencies identified by the `dependsOn` parameter. |

## Schedule\<T>(T, EntityQuery, JobHandle)

Adds an [IJobEntity](/engine/7000.0/script-reference/unity/entities/ijobentity.md) instance to the job scheduler queue for sequential (non-parallel) execution.

```csharp
public static JobHandle Schedule<T>(this T jobData, EntityQuery query, JobHandle dependsOn) where T : unmanaged, IJobEntity
```

### Parameters

**** (T): An [IJobEntity](/engine/7000.0/script-reference/unity/entities/ijobentity.md) instance.**** (\[EntityQuery]\(/engine/7000.0/script-reference/unity/entities/entityquery)): The query selecting chunks with the necessary components.**** (\[JobHandle]\(/engine/7000.0/script-reference/unity/jobs/jobhandle)): The handle identifying already scheduled jobs that could constrain this job. A job that writes to a component cannot run in parallel with other jobs that read or write that component. Jobs that only read the same components can run in parallel.

### Returns

| Type                                                                 | Description                                                                                                |
| -------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- |
| [JobHandle](/engine/7000.0/script-reference/unity/jobs/jobhandle.md) | A handle that combines the current Job with previous dependencies identified by the `dependsOn` parameter. |

## Schedule\<T>(T)

Adds an [IJobEntity](/engine/7000.0/script-reference/unity/entities/ijobentity.md) instance to the job scheduler queue for sequential (non-parallel) execution.

```csharp
public static void Schedule<T>(this T jobData) where T : unmanaged, IJobEntity
```

### Parameters

**** (T): An [IJobEntity](/engine/7000.0/script-reference/unity/entities/ijobentity.md) instance.

### Remarks

This job automatically uses the system's Dependency property as the input and output dependency.

## Schedule\<T>(T, EntityQuery)

Adds an [IJobEntity](/engine/7000.0/script-reference/unity/entities/ijobentity.md) instance to the job scheduler queue for sequential (non-parallel) execution.

```csharp
public static void Schedule<T>(this T jobData, EntityQuery query) where T : unmanaged, IJobEntity
```

### Parameters

**** (T): An [IJobEntity](/engine/7000.0/script-reference/unity/entities/ijobentity.md) instance.**** (\[EntityQuery]\(/engine/7000.0/script-reference/unity/entities/entityquery)): The query selecting chunks with the necessary components.

### Remarks

This job automatically uses the system's Dependency property as the input and output dependency.
