關閉IncrediBuild的方法

用incredibuild來build UnrealBuildTool.exe(UBT),UBT會再呼叫Incredibuild 形成遞迴呼叫incredibuild,導致在編譯的時候會收到錯誤:
A Xoreax distributed job cannot be started from within another distributed job.

目前已知UBT跟Shader compile worker這兩個project好像都不能使用Incredibuild來作編譯。


如果想要關掉incredibuild 除了下面說的改xml的方法之外,另一個就是uninstall incredibuild了。不要想去incredibuild按stop service或是把incredibuild執行檔從工作管理員裡面停止,這兩招對unreal都沒用。unreal都是直接去incredibuild的安裝資料夾叫起執行檔來執行的~


為了解決這個問題,要在xml裡關掉incredibuild 來Build UBT
在檔案路徑
%appdata%\Unreal Engine\UnrealBuildTool\ 下的 BuildConfiguration.xml 或是
C:\Users\[使用者帳號]\AppData\Roaming\Unreal Engine\UnrealBuildTool\BuildConfiguration.xml

加上這行
<bAllowXGE>false</bAllowXGE>
範例如下:


<?xml version="1.0" encoding="utf-8" ?>
<Configuration xmlns="https://www.unrealengine.com/BuildConfiguration">
<BuildConfiguration>
<bAllowXGE>false</bAllowXGE>
</BuildConfiguration>
</Configuration>


然後去Visual studio對UBT跟shader compile worker兩個專案手動對project build。當build好之後再回來改.xml把bAllowXGE改成true。

之後就可以繼續使用incredibuild了。

留言

這個網誌中的熱門文章

UE4 除錯技巧分享 (一)

UE4 GameplayAbilityTask介紹

UE4 Navigation Mesh 心得