Quick answer: Unity Editor throwing job-handle-not-completed errors when exiting play mode? Outstanding jobs survive into the domain reload - complete or dispose handles in OnDisable.
Stop play mode. Console: JobHandle.Complete() not called for scheduled job. Repeated 30 times.
Complete in OnDisable
void OnDisable() {
jobHandle.Complete();
array.Dispose();
}Symmetric with OnEnable. Domain reload calls OnDisable; outstanding handles get drained.
Use SubsystemRegistration
For static job pipelines, register cleanup via RuntimeInitializeOnLoadMethod(SubsystemRegistration). Fires before domain reload.
Or use temporary allocator
For per-frame jobs, Allocator.TempJob. Engine cleans up within 4 frames; domain reload finds nothing in flight.
“Jobs are explicit lifetime. Domain reload doesn't observe your in-flight handles.”
If your project disables domain reload for fast iteration, completing jobs becomes non-optional. The errors are louder but the bug is the same.