# RunByRef<T>(ref T, int, int)

> Executes the parallel batch job but on the main thread. See IJobParallelForBatchExtensions.Schedule for more information on how appending is performed.

## Definition

* **Type:** Method
* **Namespace:** [Unity.Jobs](/engine/6000.7/script-reference/unity/jobs.md)
* **Assembly:** UnityEngine.ManagedKernelModule

## RunByRef\<T>(T, int, int)

```csharp
public static void RunByRef<T>(this ref T jobData, int arrayLength, int indicesPerJobCount) where T : struct, IJobParallelForBatch
```

### Parameters

**** (T): The job and data to schedule. In this variant, the jobData is passed by reference, which may be necessary for unusually large job structs.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): Total number of elements to consider when batching.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): Number of elements to consider in a single parallel batch. This argument is ignored when using .RunByRef()
