Oualid.games logo Oualid.games

Windows defender is stealing your performance

Oualid | Aug 17, 2025
/images/WindowsDefenderLogo.png

Introduction

this is a powershell script that excludes common files and folders that are used with unreal engine, customize it to your needs and don’t forget to add your project’s folder. This script is inspired from ikrima.dev

$userPath            = $env:USERPROFILE
$pathExclusions      = New-Object System.Collections.ArrayList
$processExclusions   = New-Object System.Collections.ArrayList
$extensionExclusions = New-Object System.Collections.ArrayList

# Visual Studio

$pathExclusions.Add('C:\Windows\Microsoft.NET') > $null
$pathExclusions.Add('C:\Windows\assembly') > $null
$pathExclusions.Add($userPath + '\AppData\Local\Microsoft\VisualStudio') > $null
$pathExclusions.Add($userPath + '\AppData\Roaming\Microsoft\VisualStudio') > $null
$pathExclusions.Add('C:\ProgramData\Microsoft\VisualStudio\Packages') > $null
$pathExclusions.Add('C:\Program Files (x86)\MSBuild') > $null
$pathExclusions.Add('C:\Program Files\MSBuild') > $null
$pathExclusions.Add('C:\Program Files\Microsoft Visual Studio') > $null
$pathExclusions.Add('C:\Program Files (x86)\Microsoft Visual Studio') > $null
$pathExclusions.Add('C:\Program Files (x86)\Microsoft SDKs') > $null
$pathExclusions.Add('C:\Program Files\Microsoft SDKs') > $null
$pathExclusions.Add('C:\Program Files\dotnet') > $null
$pathExclusions.Add('C:\Program Files (x86)\Windows Kits\10\bin') > $null
$pathExclusions.Add('C:\Program Files (x86)\Windows Kits\10\Debuggers') > $null

$processExclusions.Add('devenv.exe') > $null
$processExclusions.Add('cl.exe') > $null
$processExclusions.Add('dotnet.exe') > $null
$processExclusions.Add('msbuild.exe') > $null
$processExclusions.Add('perfwatson2.exe') > $null
$processExclusions.Add('vbcscompiler.exe') > $null
$processExclusions.Add('testhost.exe') > $null
$processExclusions.Add('datacollector.exe') > $null
$processExclusions.Add('IntelliTrace.exe') > $null
$processExclusions.Add('CodeCoverage.exe') > $null

# Perforce
$processExclusions.Add('p4.exe') > $null
$processExclusions.Add('p4v.exe') > $null
$processExclusions.Add('p4admin.exe') > $null
$processExclusions.Add('p4merge.exe') > $null

# Rider
$processExclusions.Add('rider64.exe') > $null
$processExclusions.Add('Rider.Backend.exe') > $null
$pathExclusions.Add($userPath + '\AppData\Local\JetBrains\Rider*\resharper-host') > $null

#Rad Debugger
$processExclusions.Add('raddbg.exe') > $null
$extensionExclusions.Add(".rdi")   > $null

# C++ files

$extensionExclusions.Add(".h")   > $null
$extensionExclusions.Add(".c")   > $null
$extensionExclusions.Add(".cpp") > $null
$extensionExclusions.Add(".idb") > $null
$extensionExclusions.Add(".lib") > $null
$extensionExclusions.Add(".obj") > $null
$extensionExclusions.Add(".pdb") > $null
$extensionExclusions.Add(".sbr") > $null
# Unreal Engine

$processExclusions.Add('ShaderCompileWorker.exe') > $null
$processExclusions.Add('UnrealEditor-Cmd.exe') > $null
$processExclusions.Add('UnrealEditor.exe') > $null
$processExclusions.Add('UnrealEditor-Win64-DebugGame.exe') > $null
$processExclusions.Add('UnrealEditor-Win64-Debug.exe') > $null
$processExclusions.Add('UnrealHeaderTool.exe') > $null
$processExclusions.Add('zenserver.exe') > $null
$processExclusions.Add('UnrealInsights.exe') > $null
$processExclusions.Add('UnrealLightmass.exe') > $null
$processExclusions.Add('UnrealPak.exe') > $null
$processExclusions.Add('LiveCodingConsole.exe') > $null
$extensionExclusions.Add(".uproject") > $null


foreach ($exclusion in $pathExclusions)
{
    Write-Host "Adding Path Exclusion: " $exclusion -ForegroundColor Green
    Add-MpPreference -ExclusionPath $exclusion
}

foreach ($exclusion in $processExclusions)
{
    Write-Host "Adding Process Exclusion: " $exclusion -ForegroundColor Green
    Add-MpPreference -ExclusionProcess $exclusion
}

foreach ($exclusion in $extensionExclusions)
{
    Write-Host "Adding Extension Exclusion: " $exclusion -ForegroundColor Green
    Add-MpPreference -ExclusionExtension $exclusion
} 

Write-Host "" -ForegroundColor Green
Write-Host "Your Exclusions:" -ForegroundColor Green

$prefs = Get-MpPreference
$prefs.ExclusionPath
$prefs.ExclusionProcess
$prefs.ExclusionExtension

Write-Host "" -ForegroundColor Green
Write-Host "Enjoy faster build times and coding!" -ForegroundColor Green
Write-Host "" -ForegroundColor Green
Table Of Contents