/Unity.MainThreadJob

Use this job type to schedule main-thread depends on your other jobs and which do NOT Complete.

Primary LanguageC#

Unity MainThread Job

Important

Works in release builds only! In development builds or in Unity Editor this code call Complete on your dependency and run execute method immediately instead of schedule.

[BurstCompile]
public struct Job1 : IJob {
  public void Execute() { ... }
}

public struct Job2MainThread : IJobMainThread {
  public void Execute() {
    // force main thread for this execute
    var go = new GameObject();
    go...
  }
}

[BurstCompile]
public struct Job3 : IJob {
  public void Execute() { ... }
}

dependsOn = new Job1().Schedule(dependsOn);
dependsOn = new Job2MainThread().Schedule(dependsOn); // do some work in main thread with Unity API inside job (no burst)
dependsOn = new Job3().Schedule(dependsOn);