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.