Source module builds but fails to load with UE 4.27.2 and Visual Studio 16.11.20 or 17.3.6

I updated my Visual Studio installation, and now UBT succeeds in building the game C++ sources but the engine fails to load the built modules. Building from editor just reports “module failed to build,” but running from UAT shows the real error is that the engine fails to load the module.

With a clean new blank C++ project with just the Config, Content, and Source directories present:

RunUAT.bat BuildCookRun -build (success)
D:\TempProjects\BlankSource>"C:\Program Files\Epic Games\UE_4.27\Engine\Build\BatchFiles\RunUAT.bat" -ScriptsForProject="D:\TempProjects\BlankSource\BlankSource.uproject" BuildCookRun -project="D:\TempProjects\BlankSource\BlankSource.uproject" -noP4 -build
Running AutomationTool...
Parsing command line: -ScriptsForProject=D:\TempProjects\BlankSource\BlankSource.uproject BuildCookRun -project=D:\TempProjects\BlankSource\BlankSource.uproject -noP4 -build
Setting up ProjectParams for D:\TempProjects\BlankSource\BlankSource.uproject
********** BUILD COMMAND STARTED **********
Running: C:\Program Files\Epic Games\UE_4.27\Engine\Binaries\DotNET\UnrealBuildTool.exe BlankSourceEditor Win64 Development -Project=D:\TempProjects\BlankSource\BlankSource.uproject  D:\TempProjects\BlankSource\BlankSource.uproject -NoUBTMakefiles  -Manifest=D:\TempProjects\BlankSource\Intermediate\Build\Manifest.xml -NoHotReload -log="C:\Users\Christopher Durham\AppData\Roaming\Unreal Engine\AutomationTool\Logs\C+Program+Files+Epic+Games+UE_4.27\UBT-BlankSourceEditor-Win64-Development.txt"
  Parsing headers for BlankSourceEditor
    Running UnrealHeaderTool "D:\TempProjects\BlankSource\BlankSource.uproject" "D:\TempProjects\BlankSource\Intermediate\Build\Win64\BlankSourceEditor\Development\BlankSourceEditor.uhtmanifest" -LogCmds="loginit warning, logexit warning, logdatabase error" -Unattended -WarningsAsErrors -abslog="C:\Users\Christopher Durham\AppData\Roaming\Unreal Engine\AutomationTool\Logs\C+Program+Files+Epic+Games+UE_4.27\UHT-BlankSourceEditor-Win64-Development.txt" -installed
  LogInit: Display: Loading text-based GConfig....
  Reflection code generated for BlankSourceEditor in 3.7384545 seconds
  Writing manifest to D:\TempProjects\BlankSource\Intermediate\Build\Manifest.xml
  Building BlankSourceEditor...
  Using Visual Studio 2019 14.29.30146 toolchain (C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133) and Windows 10.0.19041.0 SDK (C:\Program Files (x86)\Windows Kits\10).
  Building 9 actions with 12 processes...
    [1/9] Default.rc2
    [2/9] SharedPCH.Engine.ShadowErrors.cpp
    [3/9] BlankSource.cpp
    [4/9] BlankSourceGameModeBase.cpp
    [5/9] BlankSource.init.gen.cpp
    [6/9] BlankSourceGameModeBase.gen.cpp
    [7/9] UE4Editor-BlankSource.lib
       Creating library D:\TempProjects\BlankSource\Intermediate\Build\Win64\UE4Editor\Development\BlankSource\UE4Editor-BlankSource.lib and object D:\TempProjects\BlankSource\Intermediate\Build\Win64\UE4Editor\Development\BlankSource\UE4Editor-BlankSource.exp
    [8/9] UE4Editor-BlankSource.dll
       Creating library D:\TempProjects\BlankSource\Intermediate\Build\Win64\UE4Editor\Development\BlankSource\UE4Editor-BlankSource.suppressed.lib and object D:\TempProjects\BlankSource\Intermediate\Build\Win64\UE4Editor\Development\BlankSource\UE4Editor-BlankSource.suppressed.exp
    [9/9] BlankSourceEditor.target
  Total time in Parallel executor: 24.07 seconds
  Total execution time: 30.40 seconds
Took 30.5204401s to run UnrealBuildTool.exe, ExitCode=0
********** BUILD COMMAND COMPLETED **********
********** PACKAGE COMMAND STARTED **********
********** PACKAGE COMMAND COMPLETED **********
BUILD SUCCESSFUL
AutomationTool exiting with ExitCode=0 (Success)
RunUAT.bat BuildCookRun -cook (failure)
D:\TempProjects\BlankSource>"C:\Program Files\Epic Games\UE_4.27\Engine\Build\BatchFiles\RunUAT.bat" -ScriptsForProject="D:\TempProjects\BlankSource\BlankSource.uproject" BuildCookRun -project="D:\TempProjects\BlankSource\BlankSource.uproject" -noP4 -cook
Running AutomationTool...
Parsing command line: -ScriptsForProject=D:\TempProjects\BlankSource\BlankSource.uproject BuildCookRun -project=D:\TempProjects\BlankSource\BlankSource.uproject -noP4 -cook
Setting up ProjectParams for D:\TempProjects\BlankSource\BlankSource.uproject
********** COOK COMMAND STARTED **********
Running UE4Editor Cook for project D:\TempProjects\BlankSource\BlankSource.uproject
Commandlet log file is C:\Program Files\Epic Games\UE_4.27\Engine\Programs\AutomationTool\Saved\Cook-2022.10.14-15.12.58.txt
Running: C:\Program Files\Epic Games\UE_4.27\Engine\Binaries\Win64\UE4Editor-Cmd.exe D:\TempProjects\BlankSource\BlankSource.uproject -run=Cook  -TargetPlatform=WindowsNoEditor -fileopenlog -unversioned -abslog="C:\Program Files\Epic Games\UE_4.27\Engine\Programs\AutomationTool\Saved\Cook-2022.10.14-15.12.58.txt" -stdout -CrashForUAT -unattended -NoLogTimes
  LogConsoleResponse: Display: Failed to find resolution value strings in scalability ini. Falling back to default.
  LogConsoleResponse: Display: Failed to find resolution value strings in scalability ini. Falling back to default.
  LogInit: Display: Running engine for game: BlankSource
  LogInit: Display: Loading text-based GConfig....
  LogLuminAPIImpl: Warning: MLSDK not found.  This likely means the MLSDK environment variable is not set.
  LogHAL: Display: Platform has ~ 32 GB [34139467776 / 34359738368 / 32], which maps to Largest [LargestMinGB=32, LargerMinGB=12, DefaultMinGB=8, SmallerMinGB=6, SmallestMinGB=0)
  LogTargetPlatformManager: Display: Loaded TargetPlatform 'AllDesktop'
  LogTargetPlatformManager: Display: Loaded TargetPlatform 'Android'
  LogTargetPlatformManager: Display: Loaded TargetPlatform 'Android_ASTC'
  LogTargetPlatformManager: Display: Loaded TargetPlatform 'Android_DXT'
  LogTargetPlatformManager: Display: Loaded TargetPlatform 'Android_ETC2'
  LogTargetPlatformManager: Display: Loaded TargetPlatform 'AndroidClient'
  LogTargetPlatformManager: Display: Loaded TargetPlatform 'Android_ASTCClient'
  LogTargetPlatformManager: Display: Loaded TargetPlatform 'Android_DXTClient'
  LogTargetPlatformManager: Display: Loaded TargetPlatform 'Android_ETC2Client'
  LogTargetPlatformManager: Display: Loaded TargetPlatform 'Android_Multi'
  LogTargetPlatformManager: Display: Loaded TargetPlatform 'Android_MultiClient'
  LogTargetPlatformManager: Display: Loaded TargetPlatform 'IOSClient'
  LogTargetPlatformManager: Display: Loaded TargetPlatform 'IOS'
  LogTargetPlatformManager: Display: Loaded TargetPlatform 'Linux'
  LogTargetPlatformManager: Display: Loaded TargetPlatform 'LinuxNoEditor'
  LogTargetPlatformManager: Display: Loaded TargetPlatform 'LinuxClient'
  LogTargetPlatformManager: Display: Loaded TargetPlatform 'LinuxServer'
  LogTargetPlatformManager: Display: Loaded TargetPlatform 'LinuxAArch64NoEditor'
  LogTargetPlatformManager: Display: Loaded TargetPlatform 'LinuxAArch64Client'
  LogTargetPlatformManager: Display: Loaded TargetPlatform 'LinuxAArch64Server'
  LogTargetPlatformManager: Display: Loaded TargetPlatform 'Lumin'
  LogTargetPlatformManager: Display: Loaded TargetPlatform 'LuminClient'
  LogTargetPlatformManager: Display: Loaded TargetPlatform 'MacNoEditor'
  LogTargetPlatformManager: Display: Loaded TargetPlatform 'Mac'
  LogTargetPlatformManager: Display: Loaded TargetPlatform 'MacClient'
  LogTargetPlatformManager: Display: Loaded TargetPlatform 'MacServer'
  LogTargetPlatformManager: Display: Loaded TargetPlatform 'TVOSClient'
  LogTargetPlatformManager: Display: Loaded TargetPlatform 'TVOS'
  LogTargetPlatformManager: Display: Loaded TargetPlatform 'WindowsNoEditor'
  LogTargetPlatformManager: Display: Loaded TargetPlatform 'Windows'
  LogTargetPlatformManager: Display: Loaded TargetPlatform 'WindowsClient'
  LogTargetPlatformManager: Display: Loaded TargetPlatform 'WindowsServer'
  LogTargetPlatformManager: Display: Building Assets For WindowsNoEditor
  LogAudioDebug: Display: Lib vorbis DLL was dynamically loaded.
  LogTextureFormatOodle: Display: Oodle Texture 2.9.0 init RDO Off
  LogShaderCompilers: Display: Using Local Shader Compiler.
  LogDerivedDataCache: Display: Max Cache Size: 512 MB
  LogDerivedDataCache: Display: Loaded Boot cache: C:/Users/Christopher Durham/AppData/Local/UnrealEngine/4.27/DerivedDataCache/Boot.ddc
  LogDerivedDataCache: Display: Pak cache opened for reading ../../../Engine/DerivedDataCache/Compressed.ddp.
  LogDerivedDataCache: Display: Performance to C:/Users/Christopher Durham/AppData/Local/UnrealEngine/Common/DerivedDataCache: Latency=0.03ms. RandomReadSpeed=165.52MBs, RandomWriteSpeed=136.62MBs. Assigned SpeedClass 'Local'
  LogModuleManager: Warning: ModuleManager: Unable to load module 'BlankSource'  - 0 instances of that module name found.
  LogShaderCompilers: Display: === FShaderJobCache stats ===
  LogShaderCompilers: Display: Total job queries 0, among them cache hits 0 (0.00%)
  LogShaderCompilers: Display: Tracking 0 distinct input hashes that result in 0 distinct outputs (0.00%)
  LogShaderCompilers: Display: RAM used: 0.00 MB (0.00 GB) of 1638.40 MB (1.60 GB) budget. Usage: 0.00%
  LogShaderCompilers: Display: ================================================
  LogShaderCompilers: Display: Shaders left to compile 0
  LogHttp: Display: cleaning up 0 outstanding Http requests.
Took 5.3469405s to run UE4Editor-Cmd.exe, ExitCode=1
ERROR: Cook failed.
       (see C:\Users\Christopher Durham\AppData\Roaming\Unreal Engine\AutomationTool\Logs\C+Program+Files+Epic+Games+UE_4.27\Log.txt for full exception trace)
AutomationTool exiting with ExitCode=25 (Error_UnknownCookFailure)
BUILD FAILED
Log.txt
Automation.ParseCommandLine: Parsing command line: -ScriptsForProject=D:\TempProjects\BlankSource\BlankSource.uproject BuildCookRun -project=D:\TempProjects\BlankSource\BlankSource.uproject -noP4 -cook
Automation.Process: Setting up command environment.
InternalUtils.SafeFileExists: SafeFileExists C:\Program Files\Epic Games\UE_4.27\Engine\Binaries\DotNET\AutomationTool.exe=True
InternalUtils.GetEnvironmentVariable: GetEnvironmentVariable uebp_LOCAL_ROOT=
InternalUtils.GetEnvironmentVariable: GetEnvironmentVariable uebp_LOCAL_ROOT=
InternalUtils.GetEnvironmentVariable: GetEnvironmentVariable uebp_EngineSavedFolder=
CommandUtils.SetEnvVar: SetEnvVar uebp_EngineSavedFolder=C:/Program Files/Epic Games/UE_4.27/Engine/Programs/AutomationTool/Saved
InternalUtils.GetEnvironmentVariable: GetEnvironmentVariable uebp_EngineSavedFolder=C:/Program Files/Epic Games/UE_4.27/Engine/Programs/AutomationTool/Saved
InternalUtils.GetEnvironmentVariable: GetEnvironmentVariable uebp_CSVFile=
InternalUtils.GetEnvironmentVariable: GetEnvironmentVariable uebp_LogFolder=
InternalUtils.GetEnvironmentVariable: GetEnvironmentVariable uebp_LOCAL_ROOT=C:/Program Files/Epic Games/UE_4.27
CommandUtils.SetEnvVar: SetEnvVar uebp_LogFolder=C:/Users/Christopher Durham/AppData/Roaming/Unreal Engine/AutomationTool/Logs/C+Program+Files+Epic+Games+UE_4.27
InternalUtils.SafeDeleteFile: SafeDeleteFile C:\Users\Christopher Durham\AppData\Roaming\Unreal Engine\AutomationTool\Logs\C+Program+Files+Epic+Games+UE_4.27\Log.txt
InternalUtils.SafeDeleteFile: SafeDeleteFile C:\Users\Christopher Durham\AppData\Roaming\Unreal Engine\AutomationTool\Logs\C+Program+Files+Epic+Games+UE_4.27\UBT-BlankSourceEditor-Win64-Development.txt
InternalUtils.GetEnvironmentVariable: GetEnvironmentVariable uebp_FinalLogFolder=
CommandUtils.SetEnvVar: SetEnvVar uebp_FinalLogFolder=C:/Users/Christopher Durham/AppData/Roaming/Unreal Engine/AutomationTool/Logs/C+Program+Files+Epic+Games+UE_4.27
InternalUtils.SafeFileExists: SafeFileExists C:\WINDOWS\system32\robocopy.exe=True
InternalUtils.SafeFileExists: SafeFileExists C:\WINDOWS\system32\mount.exe=False
InternalUtils.SafeFileExists: SafeFileExists C:\WINDOWS\Sysnative\mount.exe=False
InternalUtils.SafeFileExists: SafeFileExists C:\WINDOWS\system32\cmd.exe=True
CommandUtils.SetEnvVar: SetEnvVar MallocNanoZone=0
InternalUtils.GetEnvironmentVariable: GetEnvironmentVariable uebp_UATChildInstance=0
WindowsPlatform.FindVisualStudioInstallations: Found Visual Studio installation: C:\Program Files (x86)\Microsoft Visual Studio\2019\Community (Product=Microsoft.VisualStudio.Product.Community, Version=16.11.32929.386)
WindowsPlatform.FindVisualStudioInstallations: Found Visual Studio installation: C:\Program Files\Microsoft Visual Studio\2022\Community (Product=Microsoft.VisualStudio.Product.Community, Version=17.3.32929.385)
WindowsPlatformFactory.RegisterBuildPlatforms: UnrealBuildTool.WindowsPlatformSDK using manually installed SDK
InternalUtils.SafeDeleteFile: SafeDeleteFile C:\Users\Christopher Durham\AppData\Local\Temp\UAT\C+Program+Files+Epic+Games+UE_4.27\Rules\UATRules-1384851997.dll
InternalUtils.SafeDeleteFile: SafeDeleteFile C:\Users\Christopher Durham\AppData\Local\Temp\UAT\C+Program+Files+Epic+Games+UE_4.27\Rules\UATRules-1384851997.pdb
InternalUtils.SafeDeleteFile: SafeDeleteFile C:\Users\Christopher Durham\AppData\Local\Temp\UAT\C+Program+Files+Epic+Games+UE_4.27\Rules\UATRules-1384851997Manifest.json
ScriptCompiler.FindAndCompileAllScripts: Found 16 project files in 0.232s
ScriptCompiler.FindAndCompileAllScripts:   C:\Program Files\Epic Games\UE_4.27\Engine\Source\Programs\AutomationTool\AllDesktop\AllDesktop.Automation.csproj
ScriptCompiler.FindAndCompileAllScripts:   C:\Program Files\Epic Games\UE_4.27\Engine\Source\Programs\AutomationTool\Android\Android.Automation.csproj
ScriptCompiler.FindAndCompileAllScripts:   C:\Program Files\Epic Games\UE_4.27\Engine\Source\Programs\AutomationTool\AutomationUtils\AutomationUtils.Automation.csproj
ScriptCompiler.FindAndCompileAllScripts:   C:\Program Files\Epic Games\UE_4.27\Engine\Source\Programs\AutomationTool\BuildGraph\BuildGraph.Automation.csproj
ScriptCompiler.FindAndCompileAllScripts:   C:\Program Files\Epic Games\UE_4.27\Engine\Source\Programs\AutomationTool\Gauntlet\Gauntlet.Automation.csproj
ScriptCompiler.FindAndCompileAllScripts:   C:\Program Files\Epic Games\UE_4.27\Engine\Source\Programs\AutomationTool\HoloLens\HoloLens.Automation.csproj
ScriptCompiler.FindAndCompileAllScripts:   C:\Program Files\Epic Games\UE_4.27\Engine\Source\Programs\AutomationTool\IOS\IOS.Automation.csproj
ScriptCompiler.FindAndCompileAllScripts:   C:\Program Files\Epic Games\UE_4.27\Engine\Source\Programs\AutomationTool\Linux\Linux.Automation.csproj
ScriptCompiler.FindAndCompileAllScripts:   C:\Program Files\Epic Games\UE_4.27\Engine\Source\Programs\AutomationTool\Localization\Localization.Automation.csproj
ScriptCompiler.FindAndCompileAllScripts:   C:\Program Files\Epic Games\UE_4.27\Engine\Source\Programs\AutomationTool\Lumin\Lumin.Automation.csproj
ScriptCompiler.FindAndCompileAllScripts:   C:\Program Files\Epic Games\UE_4.27\Engine\Source\Programs\AutomationTool\Mac\Mac.Automation.csproj
ScriptCompiler.FindAndCompileAllScripts:   C:\Program Files\Epic Games\UE_4.27\Engine\Source\Programs\AutomationTool\OneSkyLocalization\OneSkyLocalization.Automation.csproj
ScriptCompiler.FindAndCompileAllScripts:   C:\Program Files\Epic Games\UE_4.27\Engine\Source\Programs\AutomationTool\Scripts\AutomationScripts.Automation.csproj
ScriptCompiler.FindAndCompileAllScripts:   C:\Program Files\Epic Games\UE_4.27\Engine\Source\Programs\AutomationTool\TVOS\TVOS.Automation.csproj
ScriptCompiler.FindAndCompileAllScripts:   C:\Program Files\Epic Games\UE_4.27\Engine\Source\Programs\AutomationTool\Win\Win.Automation.csproj
ScriptCompiler.FindAndCompileAllScripts:   C:\Program Files\Epic Games\UE_4.27\Engine\Source\Programs\AutomationTool\XLocLocalization\XLocLocalization.Automation.csproj
ScriptCompiler.FindAndCompileAllScripts: Parsed project files in 0.017s
ScriptCompiler.LoadAutomationAssemblies: Loading script DLL: C:\Program Files\Epic Games\UE_4.27\Engine\Binaries\DotNET\AutomationScripts\AllDesktop\AllDesktop.Automation.dll
ScriptCompiler.LoadAutomationAssemblies: Loading script DLL: C:\Program Files\Epic Games\UE_4.27\Engine\Binaries\DotNET\AutomationScripts\Android\Android.Automation.dll
ScriptCompiler.LoadAutomationAssemblies: Loading script DLL: C:\Program Files\Epic Games\UE_4.27\Engine\Binaries\DotNET\AutomationUtils.Automation.dll
ScriptCompiler.LoadAutomationAssemblies: Loading script DLL: C:\Program Files\Epic Games\UE_4.27\Engine\Binaries\DotNET\AutomationScripts\BuildGraph.Automation.dll
ScriptCompiler.LoadAutomationAssemblies: Loading script DLL: C:\Program Files\Epic Games\UE_4.27\Engine\Binaries\DotNET\AutomationScripts\Gauntlet.Automation.dll
ScriptCompiler.LoadAutomationAssemblies: Loading script DLL: C:\Program Files\Epic Games\UE_4.27\Engine\Binaries\DotNET\AutomationScripts\HoloLens\HoloLens.Automation.dll
ScriptCompiler.LoadAutomationAssemblies: Loading script DLL: C:\Program Files\Epic Games\UE_4.27\Engine\Binaries\DotNET\AutomationScripts\IOS\IOS.Automation.dll
ScriptCompiler.LoadAutomationAssemblies: Loading script DLL: C:\Program Files\Epic Games\UE_4.27\Engine\Binaries\DotNET\AutomationScripts\Linux\Linux.Automation.dll
ScriptCompiler.LoadAutomationAssemblies: Loading script DLL: C:\Program Files\Epic Games\UE_4.27\Engine\Binaries\DotNET\AutomationScripts\Localization.Automation.dll
ScriptCompiler.LoadAutomationAssemblies: Loading script DLL: C:\Program Files\Epic Games\UE_4.27\Engine\Binaries\DotNET\AutomationScripts\Lumin\Lumin.Automation.dll
ScriptCompiler.LoadAutomationAssemblies: Loading script DLL: C:\Program Files\Epic Games\UE_4.27\Engine\Binaries\DotNET\AutomationScripts\Mac\Mac.Automation.dll
ScriptCompiler.LoadAutomationAssemblies: Loading script DLL: C:\Program Files\Epic Games\UE_4.27\Engine\Binaries\DotNET\AutomationScripts\OneSkyLocalization.Automation.dll
ScriptCompiler.LoadAutomationAssemblies: Loading script DLL: C:\Program Files\Epic Games\UE_4.27\Engine\Binaries\DotNET\AutomationScripts\AutomationScripts.Automation.dll
ScriptCompiler.LoadAutomationAssemblies: Loading script DLL: C:\Program Files\Epic Games\UE_4.27\Engine\Binaries\DotNET\AutomationScripts\TVOS\TVOS.Automation.dll
ScriptCompiler.LoadAutomationAssemblies: Loading script DLL: C:\Program Files\Epic Games\UE_4.27\Engine\Binaries\DotNET\AutomationScripts\Win.Automation.dll
ScriptCompiler.LoadAutomationAssemblies: Loading script DLL: C:\Program Files\Epic Games\UE_4.27\Engine\Binaries\DotNET\AutomationScripts\XLocLocalization.Automation.dll
ScriptCompiler.FindAndCompileAllScripts: Loaded assemblies in 0.028s
InternalUtils.SafeFileExists: SafeFileExists D:\TempProjects\BlankSource\BlankSource.uproject=True
InternalUtils.SafeFileExists: SafeFileExists D:\TempProjects\BlankSource\BlankSource.uproject=True
BuildCookRun.SetupParams: Setting up ProjectParams for D:\TempProjects\BlankSource\BlankSource.uproject
InternalUtils.SafeFileExists: SafeFileExists C:\Users\Christopher Durham\AppData\Local\Temp\UAT\C+Program+Files+Epic+Games+UE_4.27\Rules\UATRules-1384851997.dll=False
DynamicCompilation.RequiresCompilation: Compiling C:\Users\Christopher Durham\AppData\Local\Temp\UAT\C+Program+Files+Epic+Games+UE_4.27\Rules\UATRules-1384851997.dll: Assembly does not exist
ProjectParams.ValidateAndLog: Project Params **************
ProjectParams.ValidateAndLog: AdditionalServerMapParams=
ProjectParams.ValidateAndLog: Archive=False
ProjectParams.ValidateAndLog: ArchiveMetaData=False
ProjectParams.ValidateAndLog: CreateAppBundle=True
ProjectParams.ValidateAndLog: BaseArchiveDirectory=D:\TempProjects\BlankSource\ArchivedBuilds
ProjectParams.ValidateAndLog: BaseStageDirectory=D:\TempProjects\BlankSource\Saved\StagedBuilds
ProjectParams.ValidateAndLog: Build=False
ProjectParams.ValidateAndLog: SkipBuildClient=False
ProjectParams.ValidateAndLog: SkipBuildEditor=False
ProjectParams.ValidateAndLog: Cook=True
ProjectParams.ValidateAndLog: Clean=
ProjectParams.ValidateAndLog: Client=False
ProjectParams.ValidateAndLog: ClientConfigsToBuild=Development
ProjectParams.ValidateAndLog: ClientCookedTargets=BlankSource
ProjectParams.ValidateAndLog: ClientTargetPlatform=Win64
ProjectParams.ValidateAndLog: Compressed=False
ProjectParams.ValidateAndLog: ForceUncompressed=False
ProjectParams.ValidateAndLog: AdditionalPakOptions=
ProjectParams.ValidateAndLog: AdditionalIoStoreOptions=
ProjectParams.ValidateAndLog: CookOnTheFly=False
ProjectParams.ValidateAndLog: CookOnTheFlyStreaming=False
ProjectParams.ValidateAndLog: UnversionedCookedContent=True
ProjectParams.ValidateAndLog: SkipCookingEditorContent=False
ProjectParams.ValidateAndLog: NumCookersToSpawn=0
ProjectParams.ValidateAndLog: GeneratePatch=False
ProjectParams.ValidateAndLog: AddPatchLevel=False
ProjectParams.ValidateAndLog: StageBaseReleasePaks=False
ProjectParams.ValidateAndLog: DiscVersion=
ProjectParams.ValidateAndLog: CreateReleaseVersion=
ProjectParams.ValidateAndLog: BasedOnReleaseVersion=
ProjectParams.ValidateAndLog: OriginalReleaseVersion=
ProjectParams.ValidateAndLog: DLCFile=
ProjectParams.ValidateAndLog: DLCIncludeEngineContent=False
ProjectParams.ValidateAndLog: DLCPakPluginFile=False
ProjectParams.ValidateAndLog: DiffCookedContentPath=
ProjectParams.ValidateAndLog: AdditionalCookerOptions=
ProjectParams.ValidateAndLog: DedicatedServer=False
ProjectParams.ValidateAndLog: DirectoriesToCook=
ProjectParams.ValidateAndLog: DDCGraph=
ProjectParams.ValidateAndLog: CulturesToCook=<Not Specified> (Use Defaults)
ProjectParams.ValidateAndLog: EditorTargets=BlankSourceEditor
ProjectParams.ValidateAndLog: Foreign=False
ProjectParams.ValidateAndLog: IsCodeBasedProject=True
ProjectParams.ValidateAndLog: IsProgramTarget=False
ProjectParams.ValidateAndLog: IterativeCooking=False
ProjectParams.ValidateAndLog: IterateSharedCookedBuild=
ProjectParams.ValidateAndLog: IterateSharedBuildUsePrecompiledExe=False
ProjectParams.ValidateAndLog: CookAll=False
ProjectParams.ValidateAndLog: CookPartialGC=False
ProjectParams.ValidateAndLog: CookInEditor=False
ProjectParams.ValidateAndLog: CookMapsOnly=False
ProjectParams.ValidateAndLog: Deploy=False
ProjectParams.ValidateAndLog: IterativeDeploy=False
ProjectParams.ValidateAndLog: FastCook=False
ProjectParams.ValidateAndLog: LogWindow=False
ProjectParams.ValidateAndLog: Manifests=False
ProjectParams.ValidateAndLog: MapToRun=
ProjectParams.ValidateAndLog: NoClient=False
ProjectParams.ValidateAndLog: NumClients=0
ProjectParams.ValidateAndLog: NoDebugInfo=False
ProjectParams.ValidateAndLog: SeparateDebugInfo=False
ProjectParams.ValidateAndLog: MapFile=False
ProjectParams.ValidateAndLog: NoCleanStage=False
ProjectParams.ValidateAndLog: NoXGE=False
ProjectParams.ValidateAndLog: MapsToCook=
ProjectParams.ValidateAndLog: MapIniSectionsToCook=
ProjectParams.ValidateAndLog: Pak=False
ProjectParams.ValidateAndLog: IgnorePaksFromDifferentCookSource=False
ProjectParams.ValidateAndLog: IoStore=False
ProjectParams.ValidateAndLog: SkipIoStore=False
ProjectParams.ValidateAndLog: SkipEncryption=False
ProjectParams.ValidateAndLog: GenerateOptimizationData=False
ProjectParams.ValidateAndLog: SkipPackage=False
ProjectParams.ValidateAndLog: Package=False
ProjectParams.ValidateAndLog: ForcePackageData=False
ProjectParams.ValidateAndLog: NullRHI=False
ProjectParams.ValidateAndLog: FakeClient=False
ProjectParams.ValidateAndLog: EditorTest=False
ProjectParams.ValidateAndLog: RunAutomationTests=False
ProjectParams.ValidateAndLog: RunAutomationTest=
ProjectParams.ValidateAndLog: RunTimeoutSeconds=0
ProjectParams.ValidateAndLog: CrashIndex=0
ProjectParams.ValidateAndLog: ProgramTargets=
ProjectParams.ValidateAndLog: ProjectPlatformBinariesPaths=[Win64, D:\TempProjects\BlankSource\Binaries\Win64]
ProjectParams.ValidateAndLog: ProjectExePaths=[Win64, D:\TempProjects\BlankSource\Binaries\Win64\BlankSource.exe]
ProjectParams.ValidateAndLog: Distribution=False
ProjectParams.ValidateAndLog: Prebuilt=False
ProjectParams.ValidateAndLog: Prereqs=False
ProjectParams.ValidateAndLog: AppLocalDirectory=
ProjectParams.ValidateAndLog: NoBootstrapExe=False
ProjectParams.ValidateAndLog: RawProjectPath=D:\TempProjects\BlankSource\BlankSource.uproject
ProjectParams.ValidateAndLog: Run=False
ProjectParams.ValidateAndLog: ServerConfigsToBuild=Development
ProjectParams.ValidateAndLog: ServerCookedTargets=
ProjectParams.ValidateAndLog: ServerTargetPlatform=Win64
ProjectParams.ValidateAndLog: ShortProjectName=BlankSource
ProjectParams.ValidateAndLog: SignedPak=False
ProjectParams.ValidateAndLog: SignPak=
ProjectParams.ValidateAndLog: SkipCook=False
ProjectParams.ValidateAndLog: SkipCookOnTheFly=False
ProjectParams.ValidateAndLog: SkipPak=False
ProjectParams.ValidateAndLog: PrePak=False
ProjectParams.ValidateAndLog: SkipStage=False
ProjectParams.ValidateAndLog: Stage=False
ProjectParams.ValidateAndLog: bTreatNonShippingBinariesAsDebugFiles=False
ProjectParams.ValidateAndLog: bUseExtraFlavor=False
ProjectParams.ValidateAndLog: NativizeAssets=False
ProjectParams.ValidateAndLog: StageDirectoryParam=
ProjectParams.ValidateAndLog: AdditionalPackageOptions=
ProjectParams.ValidateAndLog: Project Params **************
InternalUtils.SafeFileExists: SafeFileExists D:\TempProjects\BlankSource\BlankSource.uproject=True
InternalUtils.SafeFileExists: SafeFileExists D:\TempProjects\BlankSource\BlankSource.uproject=True
InternalUtils.SafeFileExists: SafeFileExists D:\TempProjects\BlankSource\BlankSource.uproject=True
InternalUtils.SafeFileExists: SafeFileExists D:\TempProjects\BlankSource\BlankSource.uproject=True
Project.Cook: ********** COOK COMMAND STARTED **********
InternalUtils.SafeFileExists: SafeFileExists C:\Program Files\Epic Games\UE_4.27\Engine\Binaries\Win64\UE4Editor-Cmd.exe=True
CommandUtils.RunCommandlet: Running UE4Editor Cook for project D:\TempProjects\BlankSource\BlankSource.uproject
CommandUtils.RunCommandlet: Commandlet log file is C:\Program Files\Epic Games\UE_4.27\Engine\Programs\AutomationTool\Saved\Cook-2022.10.14-15.12.58.txt
InternalUtils.SafeFileExists: SafeFileExists C:\Program Files\Epic Games\UE_4.27\Engine\Binaries\Win64\UE4Editor-Cmd.exe=True
CommandUtils.Run: Running: C:\Program Files\Epic Games\UE_4.27\Engine\Binaries\Win64\UE4Editor-Cmd.exe D:\TempProjects\BlankSource\BlankSource.uproject -run=Cook  -TargetPlatform=WindowsNoEditor -fileopenlog -unversioned -abslog="C:\Program Files\Epic Games\UE_4.27\Engine\Programs\AutomationTool\Saved\Cook-2022.10.14-15.12.58.txt" -stdout -CrashForUAT -unattended -NoLogTimes
ProcessResult.StdOut:   LogConsoleResponse: Display: Failed to find resolution value strings in scalability ini. Falling back to default.
ProcessResult.StdOut:   LogConsoleResponse: Display: Failed to find resolution value strings in scalability ini. Falling back to default.
ProcessResult.StdOut:   LogInit: Display: Running engine for game: BlankSource
ProcessResult.StdOut:   LogInit: Display: Loading text-based GConfig....
ProcessResult.StdOut:   LogLuminAPIImpl: Warning: MLSDK not found.  This likely means the MLSDK environment variable is not set.
ProcessResult.StdOut:   LogHAL: Display: Platform has ~ 32 GB [34139467776 / 34359738368 / 32], which maps to Largest [LargestMinGB=32, LargerMinGB=12, DefaultMinGB=8, SmallerMinGB=6, SmallestMinGB=0)
ProcessResult.StdOut:   LogTargetPlatformManager: Display: Loaded TargetPlatform 'AllDesktop'
ProcessResult.StdOut:   LogTargetPlatformManager: Display: Loaded TargetPlatform 'Android'
ProcessResult.StdOut:   LogTargetPlatformManager: Display: Loaded TargetPlatform 'Android_ASTC'
ProcessResult.StdOut:   LogTargetPlatformManager: Display: Loaded TargetPlatform 'Android_DXT'
ProcessResult.StdOut:   LogTargetPlatformManager: Display: Loaded TargetPlatform 'Android_ETC2'
ProcessResult.StdOut:   LogTargetPlatformManager: Display: Loaded TargetPlatform 'AndroidClient'
ProcessResult.StdOut:   LogTargetPlatformManager: Display: Loaded TargetPlatform 'Android_ASTCClient'
ProcessResult.StdOut:   LogTargetPlatformManager: Display: Loaded TargetPlatform 'Android_DXTClient'
ProcessResult.StdOut:   LogTargetPlatformManager: Display: Loaded TargetPlatform 'Android_ETC2Client'
ProcessResult.StdOut:   LogTargetPlatformManager: Display: Loaded TargetPlatform 'Android_Multi'
ProcessResult.StdOut:   LogTargetPlatformManager: Display: Loaded TargetPlatform 'Android_MultiClient'
ProcessResult.StdOut:   LogTargetPlatformManager: Display: Loaded TargetPlatform 'IOSClient'
ProcessResult.StdOut:   LogTargetPlatformManager: Display: Loaded TargetPlatform 'IOS'
ProcessResult.StdOut:   LogTargetPlatformManager: Display: Loaded TargetPlatform 'Linux'
ProcessResult.StdOut:   LogTargetPlatformManager: Display: Loaded TargetPlatform 'LinuxNoEditor'
ProcessResult.StdOut:   LogTargetPlatformManager: Display: Loaded TargetPlatform 'LinuxClient'
ProcessResult.StdOut:   LogTargetPlatformManager: Display: Loaded TargetPlatform 'LinuxServer'
ProcessResult.StdOut:   LogTargetPlatformManager: Display: Loaded TargetPlatform 'LinuxAArch64NoEditor'
ProcessResult.StdOut:   LogTargetPlatformManager: Display: Loaded TargetPlatform 'LinuxAArch64Client'
ProcessResult.StdOut:   LogTargetPlatformManager: Display: Loaded TargetPlatform 'LinuxAArch64Server'
ProcessResult.StdOut:   LogTargetPlatformManager: Display: Loaded TargetPlatform 'Lumin'
ProcessResult.StdOut:   LogTargetPlatformManager: Display: Loaded TargetPlatform 'LuminClient'
ProcessResult.StdOut:   LogTargetPlatformManager: Display: Loaded TargetPlatform 'MacNoEditor'
ProcessResult.StdOut:   LogTargetPlatformManager: Display: Loaded TargetPlatform 'Mac'
ProcessResult.StdOut:   LogTargetPlatformManager: Display: Loaded TargetPlatform 'MacClient'
ProcessResult.StdOut:   LogTargetPlatformManager: Display: Loaded TargetPlatform 'MacServer'
ProcessResult.StdOut:   LogTargetPlatformManager: Display: Loaded TargetPlatform 'TVOSClient'
ProcessResult.StdOut:   LogTargetPlatformManager: Display: Loaded TargetPlatform 'TVOS'
ProcessResult.StdOut:   LogTargetPlatformManager: Display: Loaded TargetPlatform 'WindowsNoEditor'
ProcessResult.StdOut:   LogTargetPlatformManager: Display: Loaded TargetPlatform 'Windows'
ProcessResult.StdOut:   LogTargetPlatformManager: Display: Loaded TargetPlatform 'WindowsClient'
ProcessResult.StdOut:   LogTargetPlatformManager: Display: Loaded TargetPlatform 'WindowsServer'
ProcessResult.StdOut:   LogTargetPlatformManager: Display: Building Assets For WindowsNoEditor
ProcessResult.StdOut:   LogAudioDebug: Display: Lib vorbis DLL was dynamically loaded.
ProcessResult.StdOut:   LogTextureFormatOodle: Display: Oodle Texture 2.9.0 init RDO Off
ProcessResult.StdOut:   LogShaderCompilers: Display: Using Local Shader Compiler.
ProcessResult.StdOut:   LogDerivedDataCache: Display: Max Cache Size: 512 MB
ProcessResult.StdOut:   LogDerivedDataCache: Display: Loaded Boot cache: C:/Users/Christopher Durham/AppData/Local/UnrealEngine/4.27/DerivedDataCache/Boot.ddc
ProcessResult.StdOut:   LogDerivedDataCache: Display: Pak cache opened for reading ../../../Engine/DerivedDataCache/Compressed.ddp.
ProcessResult.StdOut:   LogDerivedDataCache: Display: Performance to C:/Users/Christopher Durham/AppData/Local/UnrealEngine/Common/DerivedDataCache: Latency=0.03ms. RandomReadSpeed=165.52MBs, RandomWriteSpeed=136.62MBs. Assigned SpeedClass 'Local'
ProcessResult.StdOut:   LogModuleManager: Warning: ModuleManager: Unable to load module 'BlankSource'  - 0 instances of that module name found.
ProcessResult.StdOut:   LogShaderCompilers: Display: === FShaderJobCache stats ===
ProcessResult.StdOut:   LogShaderCompilers: Display: Total job queries 0, among them cache hits 0 (0.00%)
ProcessResult.StdOut:   LogShaderCompilers: Display: Tracking 0 distinct input hashes that result in 0 distinct outputs (0.00%)
ProcessResult.StdOut:   LogShaderCompilers: Display: RAM used: 0.00 MB (0.00 GB) of 1638.40 MB (1.60 GB) budget. Usage: 0.00%
ProcessResult.StdOut:   LogShaderCompilers: Display: ================================================
ProcessResult.StdOut:   LogShaderCompilers: Display: Shaders left to compile 0
ProcessResult.StdOut:   LogHttp: Display: cleaning up 0 outstanding Http requests.
CommandUtils.Run: Took 5.3469405s to run UE4Editor-Cmd.exe, ExitCode=1
InternalUtils.SafeDeleteFile: SafeDeleteFile C:\Users\Christopher Durham\AppData\Roaming\Unreal Engine\AutomationTool\Logs\C+Program+Files+Epic+Games+UE_4.27\Cook-2022.10.14-15.13.03.txt
InternalUtils.SafeCopyFile: SafeCopyFile C:\Program Files\Epic Games\UE_4.27\Engine\Programs\AutomationTool\Saved\Cook-2022.10.14-15.12.58.txt C:\Users\Christopher Durham\AppData\Roaming\Unreal Engine\AutomationTool\Logs\C+Program+Files+Epic+Games+UE_4.27\Cook-2022.10.14-15.13.03.txt
InternalUtils.SafeDeleteFile: SafeDeleteFile C:\Program Files\Epic Games\UE_4.27\Engine\Programs\AutomationTool\Saved\Cook-2022.10.14-15.12.58.txt
Log.WriteException: ==============================================================================
Log.WriteException: ERROR: Cook failed.
Log.WriteException:        (see C:\Users\Christopher Durham\AppData\Roaming\Unreal Engine\AutomationTool\Logs\C+Program+Files+Epic+Games+UE_4.27\Log.txt for full exception trace)
Log.WriteException: 
Log.WriteException: CommandletException: Editor terminated with exit code 1 while running Cook for D:\TempProjects\BlankSource\BlankSource.uproject; see log C:\Users\Christopher Durham\AppData\Roaming\Unreal Engine\AutomationTool\Logs\C+Program+Files+Epic+Games+UE_4.27\Cook-2022.10.14-15.13.03.txt
Log.WriteException:    at AutomationTool.CommandUtils.RunCommandlet(FileReference ProjectName, String UE4Exe, String Commandlet, String Parameters, String& DestLogFile, Int32 ErrorLevel) in D:\Build\++UE4\Sync\Engine\Source\Programs\AutomationTool\AutomationUtils\CommandletUtils.cs:line 426
Log.WriteException:    at AutomationTool.CommandUtils.RunCommandlet(FileReference ProjectName, String UE4Exe, String Commandlet, String Parameters, Int32 ErrorLevel) in D:\Build\++UE4\Sync\Engine\Source\Programs\AutomationTool\AutomationUtils\CommandletUtils.cs:line 238
Log.WriteException:    at AutomationTool.CommandUtils.CookCommandlet(FileReference ProjectName, String UE4Exe, String[] Maps, String[] Dirs, String InternationalizationPreset, String[] CulturesToCook, String TargetPlatform, String Parameters) in D:\Build\++UE4\Sync\Engine\Source\Programs\AutomationTool\AutomationUtils\CommandletUtils.cs:line 89
Log.WriteException:    at Project.Cook(ProjectParams Params) in D:\Build\++UE4\Sync\Engine\Source\Programs\AutomationTool\Scripts\CookCommand.Automation.cs:line 266Wrapped by AutomationException: Cook failed.
Log.WriteException:    at Project.Cook(ProjectParams Params) in D:\Build\++UE4\Sync\Engine\Source\Programs\AutomationTool\Scripts\CookCommand.Automation.cs:line 278
Log.WriteException:    at BuildCookRun.DoBuildCookRun(ProjectParams Params) in D:\Build\++UE4\Sync\Engine\Source\Programs\AutomationTool\Scripts\BuildCookRun.Automation.cs:line 206
Log.WriteException:    at BuildCookRun.ExecuteBuild() in D:\Build\++UE4\Sync\Engine\Source\Programs\AutomationTool\Scripts\BuildCookRun.Automation.cs:line 39
Log.WriteException:    at AutomationTool.BuildCommand.Execute() in D:\Build\++UE4\Sync\Engine\Source\Programs\AutomationTool\AutomationUtils\BuildCommand.cs:line 263
Log.WriteException:    at AutomationTool.Automation.Execute(List`1 CommandsToExecute, Dictionary`2 Commands) in D:\Build\++UE4\Sync\Engine\Source\Programs\AutomationTool\AutomationUtils\Automation.cs:line 547
Log.WriteException:    at AutomationTool.Automation.Process(String[] Arguments, StartupTraceListener StartupListener) in D:\Build\++UE4\Sync\Engine\Source\Programs\AutomationTool\AutomationUtils\Automation.cs:line 511
Log.WriteException:    at AutomationTool.Program.MainProc(String[] Arguments, StartupTraceListener StartupListener) in D:\Build\++UE4\Sync\Engine\Source\Programs\AutomationTool\Program.cs:line 175
Log.WriteException:    at AutomationTool.Program.<>c__DisplayClass1_0.<Main>b__2() in D:\Build\++UE4\Sync\Engine\Source\Programs\AutomationTool\Program.cs:line 87
Log.WriteException:    at AutomationTool.InternalUtils.RunSingleInstance(Func`1 Main) in D:\Build\++UE4\Sync\Engine\Source\Programs\AutomationTool\AutomationUtils\Utils.cs:line 739
Log.WriteException:    at AutomationTool.Program.Main(String[] Arguments) in D:\Build\++UE4\Sync\Engine\Source\Programs\AutomationTool\Program.cs:line 87
Log.WriteException: ==============================================================================
Program.Main: AutomationTool exiting with ExitCode=25 (Error_UnknownCookFailure)

The most relevant line:

  LogModuleManager: Warning: ModuleManager: Unable to load module 'BlankSource'  - 0 instances of that module name found.
Default project source
BlankSource.Target.cs
// Copyright Epic Games, Inc. All Rights Reserved.

using UnrealBuildTool;
using System.Collections.Generic;

public class BlankSourceTarget : TargetRules
{
	public BlankSourceTarget( TargetInfo Target) : base(Target)
	{
		Type = TargetType.Game;
		DefaultBuildSettings = BuildSettingsVersion.V2;
		ExtraModuleNames.AddRange( new string[] { "BlankSource" } );
	}
}
BlankSourceEditor.Target.cs
// Copyright Epic Games, Inc. All Rights Reserved.

using UnrealBuildTool;
using System.Collections.Generic;

public class BlankSourceEditorTarget : TargetRules
{
	public BlankSourceEditorTarget( TargetInfo Target) : base(Target)
	{
		Type = TargetType.Editor;
		DefaultBuildSettings = BuildSettingsVersion.V2;
		ExtraModuleNames.AddRange( new string[] { "BlankSource" } );
	}
}
BlankSource/BlankSource.Build.cs
// Copyright Epic Games, Inc. All Rights Reserved.

using UnrealBuildTool;

public class BlankSource : ModuleRules
{
	public BlankSource(ReadOnlyTargetRules Target) : base(Target)
	{
		PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs;
	
		PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore" });

		PrivateDependencyModuleNames.AddRange(new string[] {  });

		// Uncomment if you are using Slate UI
		// PrivateDependencyModuleNames.AddRange(new string[] { "Slate", "SlateCore" });
		
		// Uncomment if you are using online features
		// PrivateDependencyModuleNames.Add("OnlineSubsystem");

		// To include OnlineSubsystemSteam, add it to the plugins section in your uproject file with the Enabled attribute set to true
	}
}
BlankSource/BlankSource.h
// Copyright Epic Games, Inc. All Rights Reserved.

#pragma once

#include "CoreMinimal.h"
BlankSource/BlankSource.cpp
// Copyright Epic Games, Inc. All Rights Reserved.

#include "BlankSource.h"
#include "Modules/ModuleManager.h"

IMPLEMENT_PRIMARY_GAME_MODULE( FDefaultGameModuleImpl, BlankSource, "BlankSource" );
BlankSource/BlankSourceGameModeBase.h
// Copyright Epic Games, Inc. All Rights Reserved.

#pragma once

#include "CoreMinimal.h"
#include "GameFramework/GameModeBase.h"
#include "BlankSourceGameModeBase.generated.h"

/**
 * 
 */
UCLASS()
class BLANKSOURCE_API ABlankSourceGameModeBase : public AGameModeBase
{
	GENERATED_BODY()
	
};
BlankSource/BlankSourceGameModeBase.cpp
// Copyright Epic Games, Inc. All Rights Reserved.


#include "BlankSourceGameModeBase.h"

This is a log trace with UE 4.27.2 configured to use Visual Studio Community 2019 Version 16.11.20, but I also get the same result from VS Community 2022 Version 17.3.6. (Unfortunately, I don’t know the last version that worked.)

UE 5.0.3 with VS Community 2022 Version 17.3.6 successfully builds and loads the module’s content.


Does anyone have a workaround or am I just going to have to install and hope that the VS 17.0 and/or 17.2 LTS don’t break UE? (I only have access to mainstream VS support, so my options are 16.9.X (EOL 2022-10-11, this previous Tuesday), 16.11.X (broken), 17.0.X (untested), 17.2.X, (untested), or 17.3.X (broken).)

I have access and experience with engine source, but my team is using the retail engine (and pinned to 4.27.2 for this project), so a custom engine patch is unfortunately not an option for me.

I’m the one on the team pushing people to update their tools more often than the “industry standard” of “roughly never” and I guess finally ate my comeuppance this time. :sweat_smile:

I also went ahead and reported this through the bug reporter as case # 00486952

So I’ve done more testing, and it’s not the Visual Studio version causing the issue after all. It’s some other state issue of my machine; I installed the exact Visual Studio version a teammate has and ran into the same issue.

I’m still failing to build+load the code for a new project, but it’s not a Visual Studio compatibility issue, it’s something else. Tracking that down is going to be painful.

I’m marking this as the solution since it’s not a Visual Studio issue as asked about.

An installation Verify fixed it :tada:

What a way to lose multiple days of production time…