To accommodate the new location of the shaders folder in 3.17 PTU and other releases going forward, I thought I'd rewrite my troubleshooting script (previously known as the clean shaders script) and give it a few more options. Basically, this script prompts you to clear out the shaders folder, log backup files, crash dump files and EAC folder for LIVE and PTU. To use this script, first copy the following code into Notepad and save it as "C:\Program Files\Roberts Space Industries\StarCitizen\scTroubleshooting.ps1" # Change this value to change the default path $strDefault = "C:\Program Files\Roberts Space Industries\StarCitizen" # Don't change any other values Write-Host "Welcome to Deus Maximus's Star Citizen Troubleshooting script (for Alpha 3.17 or higher)." Write-Host $strFolder = Read-Host -Prompt "Where is your Star Citizen Folder located? (default is ""$strDefault"")" if ($strFolder -eq ""){ $strFolder = $strDefault } $strShaderPaths = Get-ChildItem "$env:LOCALAPPDATA\Star Citizen" -Recurse | Where-Object { $_.PSIsContainer -and $_.Name.EndsWith('shaders')} $strOldShaderPaths = Get-ChildItem "$strFolder" -Recurse | Where-Object { $_.PSIsContainer -and $_.Name.EndsWith('shaders')} $strLogPaths = Get-ChildItem "$strFolder" -Recurse | Where-Object { $_.PSIsContainer -and $_.Name.EndsWith('logbackups')} $strEACPaths = Get-ChildItem "$strFolder" -Recurse | Where-Object { $_.PSIsContainer -and $_.Name.EndsWith('EasyAntiCheat')} $strCrashPath = "$env:LOCALAPPDATA\Star Citizen\Crashes" if (Test-Path $strFolder){ Write-Host $deleteShaders = $Host.UI.PromptForChoice('', 'Delete the shaders folder?', @('&Yes'; '&No'), 0) if ($deleteShaders -eq 0){ foreach ($strShaderPath in $strShaderPaths) { Write-Host "Deleting shaders in" $strShaderPath.FullName Remove-Item $strShaderPath.FullName -Recurse } foreach ($strOldShaderPath in $strOldShaderPaths) { Write-Host "Deleting shaders in" $strOldShaderPath.FullName Remove-Item $strOldShaderPath.FullName -Recurse } } Write-Host $deleteLogs = $Host.UI.PromptForChoice('', 'Delete previous logs?', @('&Yes'; '&No'), 0) if ($deleteLogs -eq 0){ foreach ($strLogPath in $strLogPaths) { Write-Host "Deleting logs in" $strLogPath.FullName Remove-Item $strLogPath.FullName -Recurse } } $deleteCrashes = $Host.UI.PromptForChoice('', 'Delete previous crash dumps?', @('&Yes'; '&No'), 1) if ($deleteCrashes -eq 0){ If (Test-Path "$strCrashPath"){ Write-Host "Deleting crash dumps in" $strCrashPath Remove-Item "$strCrashPath" -Recurse } } Write-Host $deleteEAC = $Host.UI.PromptForChoice('', 'Delete EasyAntiCheat?', @('&Yes'; '&No'), 1) if ($deleteEAC -eq 0){ foreach ($strEACPath in $strEACPaths) { Write-Host "Deleting EasyAntiCheat in" $strEACPath.FullName Remove-Item $strEACPath.FullName -Recurse } Write-Host "Remember to verify your game files before launching Star Citizen after doing this!" } } else { Write-Host Write-Host "Path not found." } Write-Host Write-Host -NoNewLine 'Press any key to continue...'; $null = $Host.UI.RawUI.ReadKey('NoEcho,IncludeKeyDown'); Write-Host Create a desktop shortcut with the following command, and call it whatever you like: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -noprofile -executionpolicy bypass -file "C:\Program Files\Roberts Space Industries\StarCitizen\scTroubleshooting.ps1" Run the desktop shortcut whenever you want to clear out all the shaders and/or log files. Naturally, if you don't have Star Citizen installed on your C drive, and don't like manually entering the path each time, you can change the default variable at the start of the script.