Visual Studio MSB3073 Error on Build (Updating project from 5.3 to 5.4). "-WaitMutex -FromMsBuild Microsoft.MakeFile.Targets"

Having a rough issue updating an Unreal 5.3 project to 5.4, when trying to build source.

Build Error:

|Error|MSB3073| The command D:\Applications\UE_5.4\Engine\Build\BatchFiles\Build.bat TheProjectEditor Win64 Development -Project=D:\GameDev\Unreal 5 P4 Workspaces\sam_TheProject\TheProject\TheProject.uproject -WaitMutex -FromMsBuild -architecture=x64 exited with code 6.|TheProject|C:\Program Files\Microsoft Visual Studio\2022\Professional\MSBuild\Microsoft\VC\v170\Microsoft.MakeFile.Targets|44|||

I’ve tried:

  • Uninstalling/Reinstalling VS2022 with default recommendations from UE Forums. VS2019 is NOT installed.
  • Trying variations on the individual components. Game Dev w/ C++ Installed. Desktop dev with C++ installed. .net desktop dev installed. MSVC v143 14.38, 14.36, 14.34, latest installed. No v142 components installed.
  • Tried updating .vsconfig from “Microsoft.VisualStudio.Component.Windows10SDK.22621”, to “Microsoft.VisualStudio.Component.Windows11SDK.22621”,
  • Tried deleting BuildConfiguration.xml from AppData before regenerating VS files.
  • Many regenerations after deleting .vs folder, .vsconfig, .sln and intermediate folders.
  • Updated AdvancedSessionsPlugin to 5.4.

I’m at a loss. Worked in 5.3 and just won’t using same config in 5.4 (seemingly).

Upgrading can be problematic

If I remember correctly you also have to modify the target files

example

// Copyright Epic Games, Inc. All Rights Reserved.

using UnrealBuildTool;
using System.Collections.Generic;

public class LineWarsMaxTarget : TargetRules
{
	public LineWarsMaxTarget(TargetInfo Target) : base(Target)
	{
		Type = TargetType.Game;
		DefaultBuildSettings = BuildSettingsVersion.V5;
		IncludeOrderVersion = EngineIncludeOrderVersion.Unreal5_4;
		ExtraModuleNames.Add("LineWarsMax");
	}
}

where IncludeOrderVersion can decide if your project compiles correctly.
You can try testing it with

		IncludeOrderVersion = EngineIncludeOrderVersion.Unreal5_3;

if you upgraded.

I had this in both target files (normal module + editor).

// Fill out your copyright notice in the Description page of Project Settings.

using UnrealBuildTool;
using System.Collections.Generic;

public class TheProjectTarget : TargetRules
{
	public TheProjectTarget(TargetInfo Target) : base(Target)
	{
		Type = TargetType.Game;
		DefaultBuildSettings = BuildSettingsVersion.V2;
        bLegacyParentIncludePaths = false;
		CppStandard = CppStandardVersion.Default;
		WindowsPlatform.bStrictConformanceMode = true;
		bValidateFormatStrings = true;
		IncludeOrderVersion = EngineIncludeOrderVersion.Latest;

		ExtraModuleNames.AddRange( new string[] { "TheProject" } );
		//bUseSteam = true;
    }
}

Ok I do have some differences, notably BuildSettingsVersion.V2 and EngineIncludeOrderVersion.Latest. I tried quickly with
“EngineIncludeOrderVersion.Unreal5_3” and “EngineIncludeOrderVersion.Unreal5_4” but same issue. I didn’t regenerate files though perhaps I should.

You would only see a difference with a regeneration.

		IncludeOrderVersion = EngineIncludeOrderVersion.Latest;

will build it with 5.4 => seeing as your project was 5.3 it should probably go with 5.3

Regen’d with 5_3 and 5_4, same error. Appreciate the responses though!

In your uproject file is the EngineAssociation updated to the newer version?
it should read:

 "EngineAssociation": "5.4",

Also do you get any more information from the output window in vs?

Oh and if the engine is running (not sure when the error is thrown) then check if you have live coding enabled. It interferes with vs’s compile

5.4

"EngineAssociation": "5.4",

A fellow dev is running the project on 5.4 fine and made sure live coding is off, which is the commit/version I have pulled down…so I’m assuming its something local with me.

Here is the full output:

Build started at 6:30 PM...
1>------ Build started: Project: EpicGames.UBA, Configuration: Development Any CPU ------
2>------ Build started: Project: EpicGames.Oodle, Configuration: Development Any CPU ------
3>------ Build started: Project: EpicGames.OIDC, Configuration: Development Any CPU ------
4>------ Build started: Project: EpicGames.Core, Configuration: Development Any CPU ------
1>EpicGames.UBA -> D:\Applications\UE_5.4\Engine\Source\Programs\Shared\EpicGames.UBA\bin\Development\net6.0\EpicGames.UBA.dll
4>EpicGames.Core -> D:\Applications\UE_5.4\Engine\Source\Programs\Shared\EpicGames.Core\bin\Development\net6.0\EpicGames.Core.dll
5>------ Build started: Project: EpicGames.MsBuild, Configuration: Development Any CPU ------
6>------ Build started: Project: EpicGames.IoHash, Configuration: Development Any CPU ------
3>EpicGames.OIDC -> D:\Applications\UE_5.4\Engine\Source\Programs\Shared\EpicGames.OIDC\bin\Development\net6.0\EpicGames.OIDC.dll
2>EpicGames.Oodle -> D:\Applications\UE_5.4\Engine\Source\Programs\Shared\EpicGames.Oodle\bin\Development\net6.0\EpicGames.Oodle.dll
6>EpicGames.IoHash -> D:\Applications\UE_5.4\Engine\Source\Programs\Shared\EpicGames.IoHash\bin\Development\net6.0\EpicGames.IoHash.dll
7>------ Build started: Project: EpicGames.Serialization, Configuration: Development Any CPU ------
7>EpicGames.Serialization -> D:\Applications\UE_5.4\Engine\Source\Programs\Shared\EpicGames.Serialization\bin\Development\net6.0\EpicGames.Serialization.dll
8>------ Build started: Project: EpicGames.Horde, Configuration: Development Any CPU ------
5>EpicGames.MsBuild -> D:\Applications\UE_5.4\Engine\Source\Programs\Shared\EpicGames.MsBuild\bin\Development\net6.0\EpicGames.MsBuild.dll
9>------ Build started: Project: EpicGames.Build, Configuration: Development Any CPU ------
9>EpicGames.Build -> D:\Applications\UE_5.4\Engine\Source\Programs\Shared\EpicGames.Build\bin\Development\net6.0\EpicGames.Build.dll
8>EpicGames.Horde -> D:\Applications\UE_5.4\Engine\Source\Programs\Shared\EpicGames.Horde\bin\Development\net6.0\EpicGames.Horde.dll
10>------ Build started: Project: EpicGames.UHT, Configuration: Development Any CPU ------
10>EpicGames.UHT -> D:\Applications\UE_5.4\Engine\Source\Programs\Shared\EpicGames.UHT\bin\Development\net6.0\EpicGames.UHT.dll
11>------ Build started: Project: UnrealBuildTool, Configuration: Development Any CPU ------
11>UnrealBuildTool -> D:\Applications\UE_5.4\Engine\Binaries\DotNET\UnrealBuildTool\UnrealBuildTool.dll
12>------ Build started: Project: TheProject, Configuration: Development_Editor x64 ------
12>Using bundled DotNet SDK version: 6.0.302
12>Running UnrealBuildTool: dotnet "..\..\Engine\Binaries\DotNET\UnrealBuildTool\UnrealBuildTool.dll" TheProjectEditor Win64 Development -Project="D:\GameDev\Unreal 5 P4 Workspaces\sam_TheProject\TheProject\TheProject.uproject" -WaitMutex -FromMsBuild -architecture=x64
12>Log file: C:\Users\sam\AppData\Local\UnrealBuildTool\Log.txt
12>Creating makefile for TheProjectEditor (no existing makefile)
12>Parsing headers for TheProjectEditor
12>  Running Internal UnrealHeaderTool "D:\GameDev\Unreal 5 P4 Workspaces\sam_TheProject\TheProject\TheProject.uproject" "D:\GameDev\Unreal 5 P4 Workspaces\sam_TheProject\TheProject\Intermediate\Build\Win64\TheProjectEditor\Development\AdventGuardEditor.uhtmanifest" -WarningsAsErrors -installed
12>Total of 4 written
12>Reflection code generated for TheProjectEditor in 1.6079684 seconds
12>Total execution time: 4.73 seconds
12>The following output paths are longer than 260 characters. Please move the engine to a directory with a shorter path.
12>[260 characters] D:\GameDev\Unreal 5 P4 Workspaces\sam_TheProject\TheProject\Plugins\AdvancedSessionsPlugin\AdvancedSessions\AdvancedSteamSessions\Intermediate\Build\Win64\x64\UnrealEditor\Development\AdvancedSteamSessions\SteamRequestGroupOfficersCallbackProxy.cpp.dep.json
12>C:\Program Files\Microsoft Visual Studio\2022\Professional\MSBuild\Microsoft\VC\v170\Microsoft.MakeFile.Targets(44,5): error MSB3073: The command "D:\Applications\UE_5.4\Engine\Build\BatchFiles\Build.bat TheProjectEditor Win64 Development -Project="D:\GameDev\Unreal 5 P4 Workspaces\sam_TheProject\TheProject\TheProject.uproject" -WaitMutex -FromMsBuild -architecture=x64" exited with code 6.
12>Done building project "TheProject.vcxproj" -- FAILED.
========== Build: 11 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
========== Build completed at 6:31 PM and took 08.477 seconds ==========

Have you tried moving the project to a less copmplicated folder structure?
You seem to be hittong character limits.

1 Like

I will try moving, but that seemed to be a warning before that error. Plus it wasn’t an issue before. I will try moving it though.

I resolved my issue by moving my project folder from (using the warning file as an example):

D:\GameDev\Unreal 5 P4 Workspaces\sam_TheProject\TheProject\Plugins\AdvancedSessionsPlugin\AdvancedSessions\AdvancedSteamSessions\Intermediate\Build\Win64\x64\UnrealEditor\Development\AdvancedSteamSessions\SteamRequestGroupOfficersCallbackProxy.cpp.dep.json

to a shorter…

D:\Workspaces\TheProject\Plugins\AdvancedSessionsPlugin\AdvancedSessions\AdvancedSteamSessions\Intermediate\Build\Win64\x64\UnrealEditor\Development\AdvancedSteamSessions\SteamRequestGroupOfficersCallbackProxy.cpp.dep.json

The original path was under 260 characters which the warning was telling me it was over…so that really isn’t making sense to me…that and why is the path an issue in 5.4 but not 5.3…BUT its working and compiling now. Thank you 3dRaven.