33 lines
1.2 KiB
C#
33 lines
1.2 KiB
C#
using System;
|
|
using UnityEditor;
|
|
using Unity.Collections;
|
|
using UnityEngine;
|
|
|
|
class CLILeakDetectionSwitcher
|
|
{
|
|
[InitializeOnLoadMethod]
|
|
static void SetLeakDetectionModeFromEnvironment()
|
|
{
|
|
var nativeLeakDetectionMode = Environment.GetEnvironmentVariable("UNITY_JOBS_NATIVE_LEAK_DETECTION_MODE");
|
|
if (!string.IsNullOrEmpty(nativeLeakDetectionMode))
|
|
{
|
|
switch (nativeLeakDetectionMode)
|
|
{
|
|
case "0":
|
|
NativeLeakDetection.Mode = NativeLeakDetectionMode.Disabled;
|
|
break;
|
|
case "1":
|
|
NativeLeakDetection.Mode = NativeLeakDetectionMode.Enabled;
|
|
break;
|
|
case "2":
|
|
NativeLeakDetection.Mode = NativeLeakDetectionMode.EnabledWithStackTrace;
|
|
break;
|
|
default:
|
|
Debug.LogWarning("The environment variable UNITY_JOBS_NATIVE_LEAK_DETECTION_MODE has an invalid value. Please use: 0 = Disabled, 1 = Enabled, 2 = EnabledWithStackTrace.");
|
|
break;
|
|
}
|
|
Debug.Log("Native leak detection mode: " + NativeLeakDetection.Mode);
|
|
}
|
|
}
|
|
}
|