Missing UnrealBuildTool.exe after build

The problem is in new UnrealVersionSelector in EGS Laucher:
Epic Games\Launcher\Engine\Binaries\Win64\UnrealVersionSelector.exe

I replaced it (temporary) by another one (from UE 4.27, old sources build) and it’s works now! They updated Launcher and this breaks work with UE4 projects…
I need more time to investigate what exactly changed, but I try to do same thing in VM and have same results: UE4 uprojects can’t generate *.sln.

P.S. Problem in code (last string):

FString FDesktopPlatformBase::GetUnrealBuildToolExecutableFilename(const FString& RootDir) const
{
    FConfigFile Config;
    if (FConfigCacheIni::LoadExternalIniFile(Config, TEXT("Engine"), *FPaths::Combine(RootDir, TEXT("Engine/Config/")), *FPaths::Combine(RootDir, TEXT("Engine/Config/")), true, NULL, false, /*bWriteDestIni*/ false))
    {
       FString Entry;
       if( Config.GetString( TEXT("PlatformPaths"), TEXT("UnrealBuildTool"), Entry ))
       {
          FString NewPath = FPaths::ConvertRelativePathToFull(RootDir / Entry);
          return NewPath;
       }
    }
  

    return FPaths::ConvertRelativePathToFull(RootDir / TEXT("Engine/Binaries/DotNET/UnrealBuildTool/UnrealBuildTool.exe")); // Only valid for UE5!
}

You can fix it in code, but also it’s can be simple fixed in DefaultEngine.ini (per project) or in BaseEngine.ini (per Engine). Just add this:

[PlatformPaths]
UnrealBuildTool=Engine/Binaries/DotNET/UnrealBuildTool.exe
17 Likes