ShaderCompileWorkers maxes out at 3 cores no matter what settings I use

Unreal engine 5.6, just pulled and built from git today. no matter what settings I use in BaseEngine.ini only 3 cores are used for shaderCompileWorkers. this make shader compilation take hours instead of minutes: [DevOptions.Shaders]

; See FShaderCompilingManager for documentation on what these do

bAllowCompilingThroughWorkers=True

bAllowAsynchronousShaderCompiling=True

; Make sure we don’t starve loading threads

NumUnusedShaderCompilingThreads=1

; Make sure the game has enough cores available to maintain reasonable performance

NumUnusedShaderCompilingThreadsDuringGame=1

; Core count threshold. Below this amount will use NumUnusedShaderCompilingThreads. Above this threshold will use PercentageUnusedShaderCompilingThreads when determining the number of cores to reserve.

ShaderCompilerCoreCountThreshold=128

; Percentage of your available logical cores that will be reserved and NOT used for shader compilation

; 0 means use all your cores to compile Shaders

; 100 means use none of your cores to compile shaders (it will still use 1 core).

PercentageUnusedShaderCompilingThreads=0

; Batching multiple jobs to reduce file overhead, but not so many that latency of blocking compiles is hurt

MaxShaderJobBatchSize=50

bPromptToRetryFailedShaderCompiles=False

bDebugBreakOnPromptToRetryShaderCompile=False

bLogJobCompletionTimes=False

; Only using 10ms of game thread time per frame to process async shader maps

ProcessGameThreadTargetTime=.01

; For regular machines, wait this many seconds before exiting an unused worker (float value)

WorkerTimeToLive=20

; For build machines, wait this many seconds before exiting an unused worker (float value)

BuildWorkerTimeToLive=1200

; Set process priority for ShaderCompileWorker (0 is normal)

WorkerProcessPriority=-1

; These values are for build machines only currently to reduce the number of SCWs spawned to reduce memory pressure

bUseVirtualCores = True

; CookerMemoryUsedInGB = 49

; MemoryToLeaveForTheOSInGB = 3

; MemoryUsedPerSCWProcessInGB = 0.4

; MinSCWsToSpawnBeforeWarning = 8

; Use SCW memory pressure calculations regardless of whether cooking is done on a build machine

; Note: CookerMemoryUsedInGB, MemoryToLeaveForTheOSInGB, MemoryUsedPerSCWProcessInGB must all be set to enable

bForceUseSCWMemoryPressureLimits = False

; Temporarily disable chunking of the PSO cache as the runtime code isn’t yet in place

bDoNotChunkPSOCache=True