Public
    
    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
}
 
    
            Inner Types
                
                
                
                
                
        Public Methods
                
                
                
                
                
                
                        
        
    NativeArray<T>
    NewNativeArray<T> 
            (        
int  |     length  |          | 
                
Allocator  |     allocator  |          | 
                
NativeArrayOptions  |     options=NativeArrayOptions.ClearMemory  |          | 
                
        
)
    
    
    
     
                 
                
                
                        
        
    void
    Persist<T> 
            (        
)
    
    Makes the given array not be disposed when this tracker is disposed. 
    This is useful if you want to keep the array around after the tracker has been disposed. The array will still be tracked for the purposes of automatic dependency management. 
     
                 
                
                
                        
        
    JobHandle
    ScheduleBatch 
            (        
NativeArray<UnityEngine.RaycastCommand>  |     commands  |          | 
                
NativeArray<UnityEngine.RaycastHit>  |     results  |          | 
                
int  |     minCommandsPerJob  |          | 
                
        
)
    
    Schedules a raycast batch command. 
    Like RaycastCommand.ScheduleBatch, but dependencies are tracked automatically. 
     
                 
                
                
                        
        
    JobHandle
    ScheduleBatch 
            (        
NativeArray<UnityEngine.OverlapCapsuleCommand>  |     commands  |          | 
                
NativeArray<UnityEngine.ColliderHit>  |     results  |          | 
                
int  |     minCommandsPerJob  |          | 
                
        
)
    
    Schedules an overlap capsule batch command. 
    Like OverlapCapsuleCommand.ScheduleBatch, but dependencies are tracked automatically. 
     
                 
                
                
                        
        
    JobHandle
    ScheduleBatch 
            (        
NativeArray<UnityEngine.OverlapSphereCommand>  |     commands  |          | 
                
NativeArray<UnityEngine.ColliderHit>  |     results  |          | 
                
int  |     minCommandsPerJob  |          | 
                
        
)
    
    Schedules an overlap sphere batch command. 
    Like OverlapSphereCommand.ScheduleBatch, but dependencies are tracked automatically. 
     
                 
                
                
                        
        
    void
    SetLinearDependencies 
            (        
)
    
    Disable dependency tracking and just run jobs one after the other. 
    This may be faster in some cases since dependency tracking has some overhead. 
     
                 
                
                
                        
        
    void
    Track<T> 
            (        
NativeArray<T>  |     array  |          | 
                
bool  |     initialized=true  |          | 
                
        
)
    
    
    
     
                 
        Public Variables
                
                
                        
        
    JobHandle
    AllWritesDependency 
    
    JobHandle that represents a dependency for all jobs. 
    All native arrays that are written (and have been tracked by this tracker) to will have their final results in them when the returned job handle is complete. 
     
                 
                
                
                        
        
    bool
    forceLinearDependencies 
    
    
    
    
                 
        Private/Protected Members
                
                
                        
        
    void
    Dispose 
            ()
    
    Disposes this tracker. 
    This will pool all used lists which makes the GC happy.
Note
It is necessary to call this method to avoid memory leaks if you are using the DeferDispose method. But it's a good thing to do otherwise as well. It is automatically called if you are using the ObjectPool<T>.Release method. 
     
                 
                
                
                        
        
    void
    JobReadsFrom 
            (        
JobHandle  |     job  |          | 
                
long  |     nativeArrayHash  |          | 
                
int  |     jobHash  |          | 
                
        
)
    
    
    
     
                 
                
                
                        
        
    void
    JobWritesTo 
            (        
JobHandle  |     job  |          | 
                
long  |     nativeArrayHash  |          | 
                
int  |     jobHash  |          | 
                
        
)
    
    
    
     
                 
                
                
                        
        
    void IAstarPooledObject.
    OnEnterPool 
            ()
    
    
    
    
                 
                
                
                
                
                        
        
    NativeArray<JobHandle>
    dependenciesScratchBuffer 
    
    
    
    
                 
                
                
                
                
                
                
                        
        
    bool
    supportsMultithreading