Class JobDependencyTracker Extends IAstarPooledObject
Automatic dependency tracking for the Unity Job System.
Uses reflection to find the [ReadOnly] and [WriteOnly] attributes on job data struct fields. These are used to automatically figure out dependencies between jobs.
A job that reads from an array depends on the last job that wrote to that array. A job that writes to an array depends on the last job that wrote to the array as well as all jobs that read from the array.
struct ExampleJob : IJob {
public NativeArray<int> someData;
public void Execute () {
// Do something
}
}
void Start () {
var tracker = new JobDependencyTracker();
var data = new NativeArray<int>(100, Allocator.TempJob);
var job1 = new ExampleJob {
someData = data
}.Schedule(tracker);
var job2 = new ExampleJob {
someData = data
}.Schedule(tracker);
// job2 automatically depends on job1 because they both require read/write access to the data array
}
See
#Pathfinding.Util.IJobExtensions
Inner Types
Public Methods
Schedules a raycast batch command.
Disable dependency tracking and just run jobs one after the other.
Public Variables
JobHandle that represents a dependency for all jobs.
Private/Protected Members
Disposes this tracker.