アンリアルビルドシステムの設定

エンジンのビルドを制御するアンリアル ビルド システムの設定方法

Windows
MacOS
Linux

UnrealBuildTool は、以下の場所に保存されている XML コンフィギュレーション ファイルから設定を読み取ります。

* Engine/Saved/UnrealBuildTool/BuildConfiguration.xml
* *User Folder/AppData*/Roaming/Unreal Engine/UnrealBuildTool/BuildConfiguration.xml
* *My Documents*/Unreal Engine/UnrealBuildTool/BuildConfiguration.xml

これらのファイルは「Config/UnrealBuildTool」フォルダに作成された UE4 プロジェクトに追加されます。

UnrealBuldTool コンフィギュレーション プロパティ

これらのプロパティは、ビルド コンフィギュレーションの設定とカスタマイズに役立ちます。

XboxOnePlatform

Compiler

Windows プラットフォームで使うコンパイラ ツールチェーンのバージョンです。「デフォルト」値は、UBT 起動時の指定バージョンへ変更されます。

BuildConfiguration

bGeneratedSYMFile

ビルドしようとする dSYM ファイル リスト アーキテクチャの dSYM ファイルを生成するかどうか指定します。

bEnableAddressSanitizer

アドレス サニタイザー (ASan) を有効にします。

bEnableThreadSanitizer

スレッド サニタイザー (TSan) を有効します。

bEnableUndefinedBehaviorSanitizer

未定義動作サニタイザー (UBSan) を有効にします。

bAddFastPDBToProjects

デフォルトでコマンドラインをビルドするための -FastPDB オプションの追加を設定します。

bUsePerFileIntellisense

ファイル単位のインテリセンス データの生成を設定します。

bEditorDependsOnShaderCompileWorker

エディタ用に生成したプロジェクトファイルに ShaderCompileWorker への依存を含むかどうか設定します。

bDebugBuildsActuallyUseDebugCRT

デバッグ ビルドの Debug C++ ランタイム (CRT) を有効にします。基本的にはリリース ランタイムを使用しますが、Debug C++ ランタイムはアンリアル エンジン プロジェクトのデバッグにはあまり有用ではありません。Debug CRT ライブラリへのリンクは強制的にサードパーティ ライブラリの依存関係も Debug CRT を使ってコンパイルすることになる (だからパフォーマンスが遅くなる) からです。多くの場合、プログラム コードのデバッグのためだけにサードパーティ統計ライブラリのデバッグ バージョンのコピーが別途必要となり、手間がかかります。

bUseInlining

すべてのモジュールに対してインラインを無効にします。

bUseXGEController

XGE の Controller Worker、およびモジュールをエンジン ビルド内に含むかどうかを設定します。これらは XGE インターセプション インターフェースを使ったシェーダー コンパイルの配布に必要です。

bUseUnityBuild

コンパイルを速くするために C++ コードを大きなファイルに統合するかどうかを指定します。

bForceUnityBuild

コンパイルを速くするために C++ コードを強制的に大きなファイルに統合するかどうかを指定します。

bUseAdaptiveUnityBuild

ヒューリスティック手法で、現在どのファイルを対象にイタレート中なのかを判断した後、ユニティ ボディから取り除き、段階的にコンパイル時間を速くします。現在の実装では、ファイルが変更されると、ソースコントロール システムが書き込み可能にすると仮定して、読み取り専用フラグを使用して作業セットを区別します。この方法は、Perforce には使えますが、Git には適しません。

bAdaptiveUnityDisablesOptimizations

適応するノンユニティ ワーキング セットの中のファイル最適化を無効にします。

bAdaptiveUnityDisablesPCH

適応するノンユニティ ワーキング セットの中のファイルに対して強制インクルード PCH を無効にします。

MinGameModuleSourceFilesForUnityBuild

ユニティ ビルドがそのモジュールに対して有効になる前のゲーム モジュール内のソース ファイル数です。小さいゲーム モジュールでは 1 ファイルあたりの反復コンパイル時間が速くなります。この設定は、モジュールの Build.cs ファイルの bFasterWithoutUnity オプションでオーバーライドすることが可能です。

bShadowVariableErrors

シャドウ変数をサポートしているプラットフォーム上では、その警告を強制的にエラーとして扱うようにします。

bUndefinedIdentifierErrors

条件式の中で定義されていない識別子を使用すると、強制的にエラーとして扱うようにします。

bUseFastMonoCalls

新しいモノリシック グラフィックス ドライバーに、各種 D3d 機能に代わる "fast calls" がオプションで付きました。

bUseFastSemanticsRenderContexts

新しい Xbox ドライバーは "fast semantics" コンテキスト タイプをサポートします。これは、即時にディファードするコンテキストをオンに切り替えます。Xbox RHI でレンダリングに問題があったりクラッシュする場合は、これを無効にしてみてください。

NumIncludedBytesPerUnityCPP

単一の統合 C++ ファイルに含む対象とする C++ コードの推定バイト数です。

bStressTestUnity

単一の統合ファイルで、プロジェクトのすべての C++ ファイルを含めて C++ ユニティ ビルドの安定性を確認するストレステストを行うかどうかを指定します。

bDisableDebugInfo

デバッグ情報の生成をグローバルに無効にするかどうかを設定します。構成単位、プラットフォーム固有のオプションは DebugInfoHeuristics.cs を参照してください。

bDisableDebugInfoForGeneratedCode

生成ファイルに対してデバッグ情報の生成を無効にするかどうか指定します。グルーコードが数多く生成されたモジュールへのリンク時間が改善されます。

bOmitPCDebugInfoInDevelopment

開発ビルド イタレーションで PC 上のデバッグ情報を無効にするかどうかを指定します (デバッグ情報を無効にするとリンク時間が非常に速くなるので、イタレーション速度の改善にお勧めします) 。

bUsePDBFiles

PDB ファイルを Visual C++ ビルドに使用するかどうかを指定します。

bUsePCHFiles

PCH ファイルを使用するかどうかを指定します。

MinFilesUsingPrecompiledHeader

作成および使用前にプリコンパイル済みヘッダーの使用を必要とするファイルの最小数です。

bForcePrecompiledHeaderForGameModules

有効にすると、モジュールにソース ファイルが少ししかなくても、ゲーム モジュールに対して常にヘッダーが生成されます。これにより、プロジェクトの数ファイル上で繰り返し処理の変更に対するコンパイル時間が大幅に改善される代わりに、小さなゲーム プロジェクトの再ビルド時間は遅くなります。モジュールの Build.cs ファイルに MinFilesUsingPrecompiledHeaderOverride を指定すると、オーバーライドが可能になります。

bUseIncrementalLinking

インクリメンタルリンクの使用について指定します。インクリメンタルリンクは、小さな変更に対するイタレーション時間を短縮できます。コンピューターによってはバグのような症状 (PDB 関連のコンパイル エラー) が出るので、現時点では無効にされています。

bAllowLTCG

リンク時コード生成の使用の許可について指定します。

bPGOProfile

このビルド内で Profile Guided Optimization (PGO) 設定を有効にするかどうかを指定します。

bPGOOptimize

Profile Guided Optimization (PGO) を使用してこのビルドを最適化するかどうかを指定します。

bAllowASLRInShipping

ASLR (アドレス空間配置のランダム化) がサポートされている場合、使用の許可について指定します。シッピング ビルドのみに適用します。

bSupportEditAndContinue

編集をサポートし継続するかどうかを指定します。32 ビット コンパイルの Microsoft コンパイラでのみ機能します。

bOmitFramePointers

フレーム ポインタの省略について指定します。無効にすると、PC のメモリ プロファイリングなど行う際に便利です。

bStripSymbolsOnIOS

iOS シンボルの削除について (bGeneratedSYMFile で暗示される) 指定します。

bUseMallocProfiler

True にすると、ビルドのメモリ プロファイリングが有効になります (USE_MALLOC_PROFILER=1 を定義し bOmitFramePointers=false を強制します)。

bUseSharedPCHs

"Shared PCH" を有効にします。UBT が検出するモジュール間で特定の PCH ファイルを共有しようとすることでコンパイル時間を大幅に改善します。

bUseShippingPhysXLibraries

開発ビルドとリリース ビルドが PhysX/APEX のリリース コンフィギュレーションを使用している場合は true を指定します。

bUseCheckedPhysXLibraries

開発ビルドとリリース ビルドが PhysX/APEX のチェックされたコンフィギュレーションを使用している場合は True にします。bUseShippingPhysXLibraries が true の場合は無視されます。

bCheckLicenseViolations

ビルド中のモジュールの EULA に対する抵触を確認するように UBT に伝えます。

bBreakBuildOnLicenseViolation

ビルド中のモジュールが EULA に抵触している場合、ビルドの中断を UTB に伝えます。

bUseFastPDBLinking

/DEBUG でビルドしてローカルの PDB をウィンドウ上に作成する場合、:FASTLINK オプションを使用するかどうかを指定します。速くなりますが、デバッガーでのシンボルの検索にまだ問題があるようです。

bCreateMapFile

ビルドの一部としてマップ フィアルを出力します。

bCheckSystemHeadersForModification

無効のアクションと判断した場合、システム パスのヘッダの修正確認を行うかどうか指定します。

bFlushBuildDirOnRemoteMac

ビルド前にリモート Mac で Builds ディレクトリをきれいにするかどうかを指定します。

bPrintToolChainTimingInfo

コンパイラとリンカから詳細なタイミング情報を書き出すかどうかを指定します。

PCHOutputDirectory

プリコンパイル済みヘッダ ファイルを入れるディレクトリです。より速いドライブでのパスを使うことができる実験段階の設定です。設定しない場合、デフォルト値は標準出力ディレクトリです。

bIgnoreOutdatedImportLibraries

ターゲットのビルド時に、古いライブラリ ファイルのインポートを無視するかどうかを指定します。True に設定すると、イタレーション時間が速くなります。基本的に依存 .lib のみが変更された場合、ターゲットへわざわざ再リンクしません。このターゲットの依存するヘッダ ファイルが変更されない限りインポート ライブラリは変わらず、その場合、ターゲットは自動的に再ビルドされるからです。

bUseActionHistory

要求された場合、コンパイル アクションにコマンド ラインの依存関係を生成するかどうかを指定します。

bPrintDebugInfo

デバッグ情報のコンソールへの書き出しについて指定します。

LogFilename

ファイルへのロギングを許可します。

bPrintPerformanceInfo

依存性とその他のビットのインクルードに関するパフォーマンス診断を出力します。

bLogDetailedActionStats

詳細なアクション統計情報のログをとるかどうか指定します。ローカル実行を強制します。

bAllowXGE

XGE の使用許可について指定します。

bAllowSNDBS

SN-DBS の使用許可について指定します。

bShouldDeleteAllOutdatedProducedItems

無効となった生成物を削除するかどうか指定します。

LogLevel

表示するロギング レベルです。

JsonExportFile

詳細なターゲット情報を含む JSON ファイルをエクスポートするかどうか指定します。

bUseIncludeDependencyResolveCache

UBT がタイムスタンプの確認のためだけの各インクルード位置の解決する必要がないように、依存性キャッシュに事前に解決されたインクルード位置を含めるかどうか指定します。これは技術的には全部正しいというわけではありません。依存性キャッシュはグローバルなのでモジュールごとにインクルードパス セットは異なるので、ヘッダは別々にファイルを解決します。実際はこのようなことはなく、必要な処理がないと UBT はかなり速くなります。

bTestIncludeDependencyResolveCache

依存性解決キャッシュのテストに使用します。毎回解決し、前回の解決と照合してコンフリクトがないことを確認します。

bUseUBTMakefiles

ターゲット データをキャッシュして、非常に速い反復ビルドのサポートを有効にします。この機能を有効にすると、アンリアル ビルド ツールが初めてビルドするターゲットに対して 'UBT Makefiles' をエクスポートします。以降のビルドは、この Makefiles をロードして、古いバージョンのチェックを開始した後、非常に迅速に構築呼び出しをします。ソースファイルのプロジェクトへの追加 / 削除が行われると、UBT はビルドを正常に終了するためにこれらの情報を収集する必要があります。現在のソースファイルの追加 / 削除後にプロジェクト ファイル ジェネレータを事項して、UBT にこの情報を再収集するようにしてください。

bAllowDistcc

DMUCS/Distcc を使用するかどうか。Distcc には設定がいくつか必要なので、ローカル ビルドもリモートビルドも壊さないようにデフォルトでは無効になっています。

bIgnoreJunk

ジャンク マニフェストで指定したファイルのチェックをスキップするかどうかを指定します。

bAllowDistccLocalFallback

DMUCS/Distcc が有効の場合、リモート コンパイルに失敗したらローカル コンパイルにフォールバックすることができます。プリプロセスとコンパイル段階の分離が致命的ではないエラーを引き起こす可能性があるので、デフォルトは true を指定します。

bVerboseDistccOutput

True に設定すると、デバッグをサポートするための verbose distcc 出力が有効になります。

DistccExecutablesPath

Distcc and DMUCS 実行ファイルへのパスです。

DMUCSCoordinator

DMUCS coordinator のホスト名あるいは IP アドレスです。

DMUCSDistProp

コンパイル ホストへ要求する DMUCS の識別プロパティ値です。

ProcessorCountMultiplier

ローカル実行用のプロセッサの数の倍数です。1 未満で CPU を他のタスクにスケジュールすることができます。ローカル実行プログラム (XGE ではなく) を使用する場合、CPU コアごとに 1 アクションを実行します。大きめの値を設定すると、多くの場合はビルド時間が若干速くなりますが、コンパイル中はコンピュータの応答性が大幅に悪くなりますので、ご注意ください。

MaxProcessorCount

ローカル実行のプロセッサの最大数です。

bXGENoWatchdogThread

VS2015 ツールチェーンの遅れを防ぐために no_watchdog_thread オプションを使用するかどうかを指定します。

bShowXGEMonitor

XGE ビルド モニターを表示するかどうか指定します。

bStopXGECompilationAfterErrors

有効にすると、コンパイル エラーが発生した後、XGE がターゲットのコンパイルを停止します。他のために使われる計算リソースが節約するために推奨されます。

CMakefileGenerator

CodeLiteGenerator

EddieProjectFileGenerator

KDevelopGenerator

MakefileGenerator

ProjectFileGenerator

Format

生成するプロジェクト ファイル形式のデフォルトリストです。

QMakefileGenerator

VSCodeProjectFileGenerator

VCProjectFileGenerator

Version

プロジェクト ファイルを生成する Visual Studio のバージョンです。

XcodeProjectFileGenerator

SourceFileWorkingSet

Provider

作業一式を決定するために使用するプロバイダを設定します。

RepositoryPath

レポジトリ用に使用するパスを設定します。相対パスの場合、UE ルート ディレクトリへの相対パスとして解釈されます (Engine フォルダより上位のフォルダなど)。

GitPath

Git 実行ファイルに使用するパスを設定します。"git" がデフォルトです (PATH を通すと想定します)。

IOSToolChain

IOSSDKVersion

ビルド時にターゲットにする iOS SDK のバージョンです。

BuildIOSVersion

ビルド時に使用できる iOS のバージョンです。

bUseDangerouslyFastMode

これを設定すると、実行ファイルのを、Mac の適切なポイントに移すことを除いて、特別なコンパイル後の作業を実行しません。

HTML5Platform

HTML5Architecture

ビルド対象のアーキテクチャです。

UEBuildConfiguration

bForceHeaderGeneration

True の場合、ヘッダ生成が矯正されます。ビルド マシン用です。

bDoNotBuildUHT

True の場合、UHT をビルドせず、既にビルドされていると仮定します。

bFailIfGeneratedCodeChanges

True の場合、生成されたヘッダ ファイルが古いと失敗します。

bAllowHotReloadFromIDE

IDE からのホットロードを許可する場合は true を指定します。

bForceDebugUnrealHeaderTool

True の場合、UnrealHeaderTool の Debug 版がビルドされ、Development 版の代わりに実行されます。

SNDBS

ProcessorCountMultiplier

ローカル実行用のプロセッサの数の倍数です。1 未満で CPU を他のタスクにスケジュールすることができます。

MaxProcessorCount

ローカル実行のプロセッサの最大数です。

RemoteToolChain

RemoteServerName

こららの 2 つの変数は XmlConfigLoader.Init() の XML コンフィグ ファイルからロードされます。

bUseRPCUtil

RPCUtility を使って UnrealRemoteTool へ接続するかどうかを指定します。

RSyncExe

rsync 実行ファイルへのパスと rsync ユーティリティのパラメータです。

SSHExe

rsync 実行ファイルへのパスと rsync ユーティリティのパラメータです。

SSHPrivateKeyOverridePath

設定すると、通常の場所 (Documents/Unreal Engine/UnrealBuildTool/SSHKeys, Engine/Build/SSHKeys) で r RemoteToolChainPrivate.key を探すかわりにこのプライベート キーが使用されます。

RsyncAuthentication

Rsync (-e rsync フラグの) に使用する認証です。

SSHAuthentication

SSH (恐らく RsyncAuthentication と類似) に使用する認証です。

RSyncUsername

RSync で接続するリモート マシン上のユーザー名です。

WindowsPlatform

Compiler

Windows プラットフォームで使うコンパイラ ツールチェーンのバージョンです。「デフォルト」値は、UBT 起動時の指定バージョンへ変更されます。

StaticAnalyzer

使用する静的アナライザです。

bStrictConformanceMode

VS2017+ で厳しい基準に遵守するモード (/permissive-) を有効にします。

WindowsTargetRules

ObjSrcMapFile

.obj が含まれているファイルをソース ファイル マッピングにエクスポートするかどうかを指定します。

Select Skin
Light
Dark

新しい Unreal Engine 4 ドキュメントサイトへようこそ!

あなたの声を私たちに伝えるフィードバックシステムを含め、様々な新機能について開発をおこなっています。まだ広く使える状態にはなっていないので、準備ができるまでは、ドキュメントフィードバックフォーラムで、このページについて、もしくは遭遇した問題について教えていただけると助かります。

新しいシステムが稼働した際にお知らせします。

フィードバックを送信