Missing UE_4.27/Engine/Binaries/DotNET/UnrealBuildTool/UnrealBuildTool.exe after build

更新完epic games launcher(11月7日最新版)后,发现UE4的工程不能生成sln文件了,步骤见上面重现步骤(UE5的工程文件可以正常生成),报错如下:

<br/>

<br/>

<br/>

Building UnrealBuildTool in D:/Epic Games/UE_4.27...
Running: C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe /nologo /verbosity:quiet "D:/Epic Games/UE_4.27/Engine/Source/Programs/UnrealBuildTool/UnrealBuildTool.csproj" /property:Configuration=Development /property:Platform=AnyCPU
Missing D:/Epic Games/UE_4.27/Engine/Binaries/DotNET/UnrealBuildTool/UnrealBuildTool.exe after build

<br/>

我本地安装了UE4.27和UE5.6.1。网上搜索了一些方案后也无法解决该问题。

本地尝试写了autogen.bat文件可以使用生成sln(脚本见下面)。

<br/>

但不够完美,请问有好的解决方案来生成sln文件吗?

<br/>

<br/>

<br/>

@echo off
set "UnrealBuildTool_Path=D:\Epic Games\UE_4.27\Engine\Binaries\DotNET\UnrealBuildTool.exe"  

"%UnrealBuildTool_Path%" Development Win64 -Project="%CD%\UE4Demo.uproject" -editor -projectfiles

pause


<br/>

您好,正常流程是在uproject上右键,调用 UnrealVersionSelector,通过UVS调用UBT生成工程

请问下您上面那句build UBT是在哪个阶段调用的?

对的,就是uproject上右键,选择引擎然后生成sln文件,这时就报错了。

(个人感觉是被UE5的UnrealVersionSelector指定了去找Engine/Binaries/DotNET/UnrealBuildTool/UnrealBuildTool.exe,但是UE4的UBT其实是在目录Engine/Binaries/DotNET/UnrealBuildTool.exe下,没有UnrealBuildTool这一层目录)

您好,不太清楚中间是哪个修改出了问题​,不过调试了一下确实发现找不到UBT路径的问题

可以在 BaseEngine.ini ​中加入

[PlatformPaths]

UnrealBuildTool=Engine/Binaries/DotNET/UnrealBuildTool.exe

就可以找到正确的UBT地址了​

感谢感谢,这个方案确实更为优雅