After updating Visual Studio today, my Unreal project no longer builds. I am getting compile errors in the Automation Tool and Build Graph.
I created a new project just to test. I followed these steps:
Update to the latest version of Visual Studio 2022 (17.8.0)
Create a new Blank C++ Game with Unreal 5.3.2
Build the solution in Visual Studio.
I get this result:
========== Build: 46 succeeded, 2 failed, 0 up-to-date, 1 skipped ==========
========== Build completed at 10:25 and took 17.625 seconds ==========
The errors are:
5>------ Build started: Project: AutomationScripts.Automation, Configuration: Development Any CPU ------
2>Using bundled DotNet SDK version: 6.0.302
2>Running UnrealBuildTool: dotnet āā¦..\Engine\Binaries\DotNET\UnrealBuildTool\UnrealBuildTool.dllā MyProjectEditor Win64 Development -Project=āC:\Brynn\Test\MyProject\MyProject.uprojectā -WaitMutex -FromMsBuild
3>C:\Program Files\Epic Games\UE_5.3\Engine\Source\Programs\AutomationTool\BuildGraph\BgScriptReader.cs(1640,37,1640,42): error CS8604: Possible null reference argument for parameter āotherā in āvoid HashSet.UnionWith(IEnumerable other)ā.
3>Done building project āBuildGraph.Automation.csprojā ā FAILED.
2>Log file: C:\Users\brynn\AppData\Local\UnrealBuildTool\Log.txt
5>C:\Program Files\Epic Games\UE_5.3\Engine\Source\Programs\AutomationTool\Scripts\CheckForHacks.cs(87,26,87,45): error CA2017: Number of parameters supplied in the logging message template do not match the number of named placeholders (CA2017: Parameter count mismatch (code analysis) - .NET | Microsoft Learn)
5>Done building project āAutomationScripts.Automation.csprojā ā FAILED.
For the BgScriptReader.cs error, it is complaining about a possible null value. I added a null check here.
For CheckForHacks.cs it is complaining about passing format args into a string which has no format specifiers in it. Iāve removed the args to fix this.
Iāve edited the scripts locally to fix the errors, which works to fix the build. But this will be an issue for everyone on the team as we arenāt building from source, so those changes Iāve made will not be committed anywhere.
Anyone know why updating VS caused this? My current suspicion is that these are both things that used to be warnings but MS have upgraded to errors, causing the build to failā¦
Yeah, I have the same problem with Unreal 5.3.2 together with Visual Studio 17.8. It works with older Unreal Engine version and also with older Visual Studio versions but version 5.3.2 together with 17.8 does not build currently.
I was about to post a new topic here but you nailed exactly the issue im having. I converted my project from 5.1.0 to 5.3.2 and its failing to build my project with similar errors. Does anybody know what im missing here? Is the automation tool supposed to be ābuiltā as well?
5>D:\UnrealEngine-5.3.2-release\Engine\Source\Programs\AutomationTool\BuildGraph\BgScriptReader.cs(1640,37,1640,42): error CS8604: Possible null reference argument for parameter āotherā in āvoid HashSet.UnionWith(IEnumerable other)ā.
5>Done building project āBuildGraph.Automation.csprojā ā FAILED.
8>------ Build started: Project: Win.Automation, Configuration: Development Any CPU ------
6>D:\UnrealEngine-5.3.2-release\Engine\Source\Programs\AutomationTool\Scripts\CheckForHacks.cs(87,26,87,45): error CA2017: Number of parameters supplied in the logging message template do not match the number of named placeholders (CA2017: Parameter count mismatch (code analysis) - .NET | Microsoft Learn)
6>Done building project āAutomationScripts.Automation.csprojā ā FAILED.
9>------ Build started: Project: Android.Automation, Configuration: Development Any CPU ------
8>CSC : error CS0006: Metadata file āD:\UnrealEngine-5.3.2-release\Engine\Binaries\DotNET\AutomationTool\AutomationScripts\BuildGraph\ref\BuildGraph.Automation.dllā could not be found
8>Done building project āWin.Automation.csprojā ā FAILED.
10>------ Build started: Project: CookedEditor.Automation, Configuration: Development Any CPU ------
2>UE5Rules ā D:\UnrealEngine-5.3.2-release\Engine\Intermediate\Build\BuildRulesProjects\UE5Rules\bin\Development\UE5Rules.dll
2>Done building project āUE5Rules.csprojā.
11>------ Build started: Project: UE5ProgramRules, Configuration: Development Any CPU ------
9>CSC : error CS0006: Metadata file āD:\UnrealEngine-5.3.2-release\Engine\Binaries\DotNET\AutomationTool\AutomationScripts\Scripts\ref\AutomationScripts.Automation.dllā could not be found
9>Done building project āAndroid.Automation.csprojā ā FAILED.
12>------ Build started: Project: Gauntlet.Automation, Configuration: Development Any CPU ------
12>CSC : error CS0006: Metadata file āD:\UnrealEngine-5.3.2-release\Engine\Binaries\DotNET\AutomationTool\AutomationScripts\Platforms\Android\ref\Android.Automation.dllā could not be found
12>CSC : error CS0006: Metadata file āD:\UnrealEngine-5.3.2-release\Engine\Binaries\DotNET\AutomationTool\AutomationScripts\Scripts\ref\AutomationScripts.Automation.dllā could not be found
12>Done building project āGauntlet.Automation.csprojā ā FAILED.
10>CSC : error CS0006: Metadata file āD:\UnrealEngine-5.3.2-release\Engine\Binaries\DotNET\AutomationTool\AutomationScripts\Scripts\ref\AutomationScripts.Automation.dllā could not be found
10>CSC : error CS0006: Metadata file āD:\UnrealEngine-5.3.2-release\Engine\Binaries\DotNET\AutomationTool\AutomationScripts\Platforms\Windows\ref\Win.Automation.dllā could not be found
10>Done building project āCookedEditor.Automation.csprojā ā FAILED.
13>------ Build started: Project: Turnkey.Automation, Configuration: Development Any CPU ------
14>------ Build started: Project: LowLevelTests.Automation, Configuration: Development Any CPU ------
14>CSC : error CS0006: Metadata file āD:\UnrealEngine-5.3.2-release\Engine\Binaries\DotNET\AutomationTool\AutomationScripts\Scripts\ref\AutomationScripts.Automation.dllā could not be found
14>CSC : error CS0006: Metadata file āD:\UnrealEngine-5.3.2-release\Engine\Binaries\DotNET\AutomationTool\AutomationScripts\Gauntlet\ref\Gauntlet.Automation.dllā could not be found
14>Done building project āLowLevelTests.Automation.csprojā ā FAILED.
This is not enough. Also need to fix line 1640 at C:\Program Files\Epic Games\UE_5.3\Engine\Source\Programs\AutomationTool\BuildGraph\BgScriptReader.cs:
if (users != null)
report.NotifyUsers.UnionWith(users);
Is this normal? Iām new to UE and only a hobbyist game dev. But working as a backend dev that would be unacceptable. Even in most open source frameworks not even talking about paid stuff.
There is no statement from Epic regarding this issue.
There is an open PR for over a week now and no Hotfix.
I was aware that game dev tooling feels ancient for other developers but this is just different.