UBAとHordeによる分散ビルドが実行できない

UBAとHordeによる分散ビルドが実行できません。分散されずに自PCでのみビルドされます

・UGSのbuildのチェックをONでエディタビルドしています

・​同じHoderサーバを利用し、DDC作成時の分散はできています

・​ためしに UE5\Engine\Saved\UnrealBuildTool\BuildConfiguration.xml の

<bForceBuildAllRemote>true</bForceBuildAllRemote> に設定するとビルドが始まらなくなります

Compiling TestEditor…

ubt> Running D:\Perforce\test\UE5\Engine\Build\BatchFiles\Build.bat “D:\Perforce\test\UE5\Engine\Build\BatchFiles\Build.bat” TestEditor Win64 Development “D:\Perforce\test\UE5\Test\Test.uproject” -NoHotReloadFromIDE -progress

ubt> Using bundled DotNet SDK version: 8.0.300 win-x64

ubt> Running UnrealBuildTool: dotnet “..\..\Engine\Binaries\DotNET\UnrealBuildTool\UnrealBuildTool.dll” TestEditor Win64 Development “D:\Perforce\test\UE5\Test\Test.uproject” -NoHotReloadFromIDE -progress

ubt> Log file: D:\Perforce\test\UE5\Engine\Programs\UnrealBuildTool\Log.txt

ubt> Creating makefile for TestEditor (BuildConfiguration.xml is newer)

ubt> Houdini Engine : Houdini 20.5.654 could not be found. Houdini Engine will not be available in this build.

ubt> Building TestEditor…

ubt> Using Visual Studio 2022 14.38.33141 toolchain (C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.38.33130) and Windows 10.0.22621.0 SDK (C:\Program Files (x86)\Windows Kits\10).

ubt> Determining max actions to execute in parallel (8 physical cores, 16 logical cores)

ubt> Executing up to 8 processes, one per physical core

ubt> Using Unreal Build Accelerator local executor to run 4170 action(s)

ubt> Storage capacity 48Gb

ubt> ---- Starting trace: 250820_151905 ----

ubt> UbaServer - Listening on 0.0.0.0:1345

ubt> ------ Building 4170 action(s) started ------

↑ここから動かなくなります

UBTのログを見て​も同様にしか記載されておらず、エラーなどが見当たりません

​どのように調査すればよいでしょうか?

お世話になっております。

UE5.6以前で分散ビルドが正しく動作していたのであれば、環境問題ではなくエンジン側の不具合により分散ビルドがうまく動作していなくなっている可能性が考えられます。問題の切り分けのために、以下のスレッドで最新のMainブランチにあるUBAが公開されているのですが、こちらのバイナリを置き換えて分散ビルドが動作するかどうかをご確認頂いてもよろしいでしょうか?

UE5.6で分散ビルドが動かないという報告があり、こちらのUBAに差し替えて動作するようであればUBAの不具合によるものが原因だと推測されます。お手数おかけしますが、どうぞよろしくお願いします。

UE5.6 compilation issues when using UBA

[Content removed]

Engine/Binaries/Win64/UnrealBuildAccelerator/x64/

以下に上記案件のzipファイルを解凍して設置しましたが状況変わらずでした

ご確認頂きありがとうございました。

UBAの変更では特に状況が変わらなかったとのことで、申し訳ございませんでした。こちらでもUE5.6.1の環境で試してみたいと思いますが、他に幾つか試して頂くことができることはございます。

1. 分散可能なAgentsが存在しているか?

Horde Server上のPoolに分散ビルド可能なAgentsがReady状態となっているかどうかをご確認ください。ステータスがReady以外の場合はAgentsのアップデートなどにより分散可能な状態となるようご確認ください。

2. 引数からではなく.iniファイルからプロバイダを指定する

UE5.6からプロバイダの設定が.iniファイルから設定できるようになったので以下の設定を追加して、正しく分散環境に登録できるかを確認します。以下はその設定の一例です。

Engine/Config/BaseEngine.ini:

[Uba.Provider.Horde.Example]
ServerUrl="http://[YOUR_HORDE_SERVER]:13340"
Pool=Win-UE5
Enabled=True
UbaPool=Win-UE5
UbaCluster=default

%LocalAppData%/Unreal Engine/Engine/Config/UserEngine.ini:

[UbaController]
+Providers=Uba.Provider.Horde.Example

3. 強制的にHordeを使用する設定

BuildConfiguration.xmlに以下の設定を追加してください。

<UnrealBuildAccelerator>
    <bForceBuildAllRemote>true</bForceBuildAllRemote>
    <bDisableRemote>false</bDisableRemote>
    <Providers>Uba.Provider.Horde.Example</Providers>
</UnrealBuildAccelerator>

4. UBAの設定デバッグ

UBAがどのプロバイダーを使用しようとしているかを確認するために、以下のログを有効にしてください。

<UnrealBuildAccelerator>
    <bLaunchVisualizer>true</bLaunchVisualizer>
</UnrealBuildAccelerator>

よろしくお願いします。

1. 分散可能なAgentsが存在しているか?

Readyになっております

またこのReadyになっているagent群に対してDDCのコンパイルは分散実行されていることを確認済みです

2. 引数からではなく.iniファイルからプロバイダを指定する

動いていた時(UE5.5)の時点で引き数ではなくiniファイル

<プロジェクトフォルダ>\Config\DefaultEngine.ini で

--

[Uba.Provider.Horde]

Enabled=True

Horde=(Pool=Win-UE5,MaxCores=500)

[Horde]

ServerUrl=“http://(サーバ名):13340/”

--

のように設定しておりましたが微妙に記述が異なるようですね

ご呈示のものに合わせてみます

3. 強制的にHordeを使用する設定

4. UBAの設定デバッグ

<Providers>Uba.Provider.Horde.Example</Providers>

以外は既に設定を行っておりました

上記iniの修正と合わせてやってみます

分散できました!

なお、先にいただいて​いた上記案件のzipファイルを展開した状態では以下のエラーが出て、

それを戻したら無事分散できました

Engine\Saved\UnrealBuildTool\BuildConfiguration.xml(10): warning: The element ‘Providers’ in namespace ‘https://www.unrealengine.com/BuildConfiguration’ cannot contain text. List of possible elements expected: ‘Item’ in namespace ‘https://www.unrealengine.com/BuildConfiguration’.

ご確認頂きありがとうございました。

UBAのバージョンがMainのバージョンベースで作成されているためUE5.6ベースで表示されたアンマッチを少し修正する必要があったようですね。ひとまずこれにより分散ビルドが動作したようなのでUBAの問題でしたが既に修正されているようです。ご不便おかけしますがこちらで提供されたUBAをベースに動作を行って頂けますと幸いです。