Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


Jobs preferences reference

Reference for Jobs preferences.
Read time 3 minutesLast updated 2 days ago

Contains preferences for the job system, which you can use to write simple and safe multithreaded code so that your application can use all its available CPU cores to execute code. The job system can improve the performance of your application. To open the preferences, go to Edit > Preferences > Jobs (macOS: Unity > Settings > Jobs).

Property

Description

Use Job ThreadsRuns jobs in separate threads. Disable Use Job Threads to run all jobs on the main thread. If you're debugging and want to simplify the problem space and remove all parallelism, you can disable Use Job Threads to run all jobs immediately on the main thread when they are scheduled. Disabling Use Job Threads has the same effect as if you set
JobsUtility.JobWorkerCount
to 0.

Use Job Threads is enabled by default when the Editor restarts.
Enable Jobs DebuggerEnables the Job system safety system checks which detect potential race conditions and prevent the bugs they can cause. Disable Enable Jobs Debugger if you want to monitor performance without the overhead of job system safety checks.

Enable Jobs Debugger is enabled by default when the Editor restarts.
Leak Detection LevelControls how much memory leak information is detected. Leak detection checks if allocations that are made with
MallocTracked
are freed with
FreeTracked
. If you don't free unmanaged memory, you will cause memory leaks which have a negative effect on memory usage and reduce performance. Memory leaks persist across domain reloads in the Editor.

In the Editor and development builds, Enabled is selected by default. In non-development builds, Disabled is the default mode for Leak Detection Level. Choose from the following:
  • Disabled: Don't detect unmanaged memory leaks.
  • Enabled: Perform a lightweight count of all memory leaks for each leak category. This option only prints the number of leaks as part of the domain unload process. Use the Enabled With Stack Trace leak detection mode to find detected leaks.
  • Enabled With Stack Trace (Editor and development builds only): Leak Detection reports the callstack of any
    MallocTracked
    allocation that's not deallocated with
    FreeTracked
    . Enabled With Stack Trace can add a performance cost to allocations. Only use Enabled With Stack Trace to intentionally track native memory leaks. Enabled With Stack Trace, like Enabled, reports leaks as part of the domain unload process.
Allow Graphics Jobs in EditorMakes the Editor render with the Graphics Jobs threading mode specified in Player settings. If your device doesn't support the specified Graphics Jobs Mode, Unity falls back to a supported threading mode.

Note: You must also enable Graphics Jobs in the Player settings for the desktop platform your Editor runs on to apply the changes. If you don't enable both, the Editor uses standard multithreaded rendering, or single-core CPU rendering. For more information about rendering threading modes, refer to
RenderingThreadingMode
.

You can enable Allow Graphics Jobs in Editor to test how graphics jobs affect rendering without building a Player or disable it to check whether graphics jobs cause a rendering problem in the Editor.

The Editor needs to restart to enable or disable graphics jobs.

Additional resources