Unreal Build Tool (UBT) では以下のターゲット タイプのビルドがサポートされています。
-
Game: 実行にクック済みデータを必要とするスタンドアローン ゲーム。
-
Client: Game と同じですが、サーバー コードは含まれません。ネットワーク ゲームに適しています。
-
Server: Game と同じですが、クライアント コードは含まれません。ネットワーク ゲームの専用サーバーに適しています。
-
Editor: Unreal Editor を拡張するターゲット。
-
Program – Unreal Engine 上にビルドされたスタンドアローン ユーティリティ プログラム。
ターゲットは、拡張子が .target.cs
である C# ソース ファイルで宣言されており、プロジェクトのルート ディレクトリ内に格納されています。各 .target.cs
ファイルでは、TargetRules
基本クラスから派生したクラスが宣言されており、そのコンストラクタからどのようにビルドされるかを制御するプロパティが設定されています。ターゲットをビルドするように指示されると、Unreal Build Tool は .target.cs
ファイルをコンパイルし、その中で宣言されているクラスを作成して、その設定を決定します。
クラス名は、そのクラスが宣言されているファイル名の後に「Target」を付けたものと一致している必要があります (たとえば、MyProject.target.cs
ではクラス MyProjectTarget
を定義します)。
ターゲット ファイルの一般的な構造は次のとおりです。
using UnrealBuildTool;
using System.Collections.Generic;
public class MyProjectTarget : TargetRules
{
public MyProjectTarget(TargetInfo Target) : base(Target)
{
Type = TargetType.Game;
// Other properties go here
}
}
読み取り専用プロパティ
$ Platform (UnrealTargetPlatform):このターゲットのビルド対象とするプラットフォーム。
$ Configuration (UnrealTargetConfiguration):ビルドされているコンフィギュレーション。
$ Architectures (UnrealArchitectures): このターゲットのビルド対象とするアーキテクチャー (または、デフォルトである空の文字列)。
$ ProjectFile (FileReference):このターゲットが入っているプロジェクトのプロジェクト ファイルのパス。
$ Version (ReadOnlyBuildVersion):現在のビルド バージョン。
$ IsTestTarget (Boolean):これが低レベルのテスト ターゲットかどうかを指定します。
$ ExplicitTestsTarget (Boolean):これが明示的に定義されているテスト ターゲットかどうかを指定します。明示的に定義されているテスト ターゲットでは常に TestTargetRules が継承され、独自のテストが定義されています。暗黙のテスト ターゲットは、-Mode=Test
が指定されているビルド時に既存のターゲットから作成され、すべての依存関係からのテストが含まれています。
$ WithLowLevelTests (Boolean):モジュール特有の低レベル テストをコンパイルするかどうかを決定づける WITH_LOW_LEVEL_TESTS
の値を制御します。
$ Architecture (UnrealArch): アーキテクチャの中に単一のアーキテクチャという通常の場合はアーキテクチャを取得します (複数のアーキテクチャが指定された場合、例外が発生します。)。
$ HostPlatform (UnrealTargetPlatform):ビルドに使用されているホスト プラットフォームを取得します。
$ bGenerateProjectFiles (Boolean):bGenerateProjectFiles
フラグをターゲットに公開することで、IntelliSense が向上するように適切に動作を変更できるようになります。
$ bShouldTargetRulesTogglePlugins (Boolean):ターゲットのルールを使用してプラグインを明示的に有効または無効にするかどうかを表します。参照されているプラグインをビルドするかどうかがプロジェクト ファイルで示されていない限り、通常はプロジェクトの生成には不要です。
$ bIsEngineInstalled (Boolean):エンジンをインストールするかどうかの設定を公開します。
読み取り/書き込みプロパティ
$ Type (TargetType):ターゲットのタイプ。
$ ForcedIncludeOrder (Nullable
$ OutputFile (String):メインの実行可能ファイルの出力ファイルのパスを、エンジンまたはプロジェクトのディレクトリからの相対パスで指定します。エンジンでは実行可能ファイルからの相対パスを使用して他の既知のフォルダ (「Content」など) を見つけ出すため、この設定は通常、UE 以外のプログラムでのみ有用です。
$ bUsesSteam (Boolean):ターゲットで Steam を使用するかどうかを指定します。
$ bUsesCEF3 (Boolean):ターゲットで CEF3 を使用するかどうかを指定します。
$ bUsesSlate (Boolean):プロジェクトで (常に利用可能な低レベルのウィンドウ環境/メッセージングではなく) 視覚的なスレート UI を使用するかどうかを指定します。
$ bUseStaticCRT (Boolean):静的 CRT に対するリンクを強制します。アロケーターの実装が共有されていて (例)、複数の TPS ライブラリが互いに整合性が取れている必要があるため、これはエンジン全体で完全にはサポートされていませんが、ユーティリティ プログラムには使用できます。
$ bDebugBuildsActuallyUseDebugCRT (Boolean):デバッグ ビルド用の Debug C++ ランタイム (CRT) を有効にします。デフォルトでは、常にリリース ランタイムが使用されます。その理由は、Unreal Engine プロジェクトのデバッグ時にはデバッグ バージョンはそれほど有用ではなく、Debug CRT ライブラリとリンクするとサードパーティ ライブラリの依存関係のコンパイルでも Debug CRT を使用することが強制され、所要時間が長くなることが多いためです。多くの場合、プログラムのコードをデバッグするためだけに、サードパーティのスタティック ライブラリのデバッグ バージョンのコピーが別途必要であることは不便です。
$ bLegalToDistributeBinary (Boolean):特別な制約があるフォルダ (CarefullyRedist
、NotForLicensees
、NoRedist
など) 内のモジュールへの依存関係があっても、このターゲットからの出力が公開可能かどうかを指定します。
$ UndecoratedConfiguration (UnrealTargetConfiguration):バイナリ ファイルで -Platform-Configuration
サフィックスを必要としないコンフィギュレーションを指定します。
$ bBuildAllModules (Boolean):このターゲット タイプに対して有効なすべてのモジュールをビルドします。CIS およびインストールされているエンジン ビルドの作成に使用されます。
$ VSTestRunSettingsFile (FileReference):生成されるプロジェクトで VSTest の実行設定ファイルが参照されるように設定します。
$ BuildPlugins (List
$ bRuntimeDependenciesComeFromBuildPlugins (Boolean):これが true であれば、EnablePlugins ではなく BuildPlugins リストを使用して、RuntimeDependencies に投入されます。
$ AdditionalPlugins (List
$ EnablePlugins (List
$ DisablePlugins (List
$ InternalPluginDependencies (List
$ PakSigningKeysFile (String):実行可能ファイルに埋め込む pak 署名キーのセットのパス。
$ SolutionDirectory (String):Program ターゲットで、独自のソリューション フォルダ パスが指定されることを許可します。
$ bBuildInSolutionByDefault (Nullable
$ bShouldCompileAsDLL (Boolean):このターゲットを DLL としてコンパイルすべきかどうかを指定します。LinkType が TargetLinkType.Monolithic
に設定されている必要があります。
$ CustomConfig (String):同じプラットフォームで複数のタイプのビルドを作成するためのコンフィグ ファイルが置かれている追加のサブディレクトリ。これは、CUSTOM_CONFIG
としてゲームの実行可能ファイルにベイクされ、ファイルと設定のフィルタリングをステージングする際に使用されます。
$ ExeBinariesSubFolder (String):実行ファイルを配置するサブフォルダを、デフォルトの場所からの相対パスで指定します。
$ GeneratedCodeVersion (EGeneratedCodeVersion):ターゲット モジュールが Unreal Header Tool (UHT) のコード生成バージョンをオーバーライドできるようにします。
$ bEnableMeshEditor (Boolean):メッシュ エディタを有効にするかどうかを指定します。
$ bCompileChaos (Boolean):Chaos 物理プラグインをコンパイルするかどうかを指定します。
$ bUseChaos (Boolean):Chaos 物理インターフェースを使用するかどうかを指定します。これにより Physx フラグがオーバーライドされ、APEX と NvCloth が無効になります。
$ bUseChaosChecked (Boolean):チェック済み Chaos 機能を使用してデバッグ用にコンパイルするかどうかを指定します。
$ bUseChaosMemoryTracking (Boolean):Chaos メモリ トラッキング機能を使用してコンパイルするかどうかを指定します。
$ bCustomSceneQueryStructure (Boolean):シーン クエリ アクセラレーションが UE によって実行されるかどうかを指定します。PhysX シーン クエリ構造体は引き続き作成されますが、使用されることはありません。
$ bCompilePhysX (Boolean):PhysX のサポートを含めるかどうかを指定します。
$ bCompileAPEX (Boolean):PhysX APEX のサポートを含めるかどうかを指定します。
$ bCompileNvCloth (Boolean):NvCloth を含めるかどうかを指定します。
$ bCompileICU (Boolean):ICU Unicode/i18n のサポートを Core に含めるかどうかを指定します。
$ bCompileCEF3 (Boolean):CEF3 のサポートをコンパイルするかどうかを指定します。
$ bCompileISPC (Boolean):ISPC を使用してコンパイルするかどうかを指定します。
$ bCompileIntelMetricsDiscovery (Boolean):IntelMetricsDiscovery をコンパイルするかどうかを指定します。
$ bCompilePython (Boolean):Python を使用してコンパイルするかどうかを指定します。
$ bUseIris (Boolean):Iris を使用するかどうかを指定します。
$ bForceBuildTargetPlatforms (Boolean):通常はビルドされないターゲット プラットフォームのモジュールであっても、そのコンパイルを強制するかどうかを指定します。
$ bForceBuildShaderFormats (Boolean):通常はビルドされないシェーダー形式のモジュールであっても、そのコンパイルを強制するかどうかを指定します。
$ bNeedsExtraShaderFormatsOverride (Nullable
$ bCompileCustomSQLitePlatform (Boolean):カスタム「Unreal」プラットフォーム (true) とネイティブ プラットフォーム (false) のどちらを使用して SQLite をコンパイルするかを指定します。
$ bUseCacheFreedOSAllocs (Boolean):MallocBinned
でキャッシュ解放された OS を利用するかどうかを指定します。
$ bCompileRecast (Boolean):Recast NavMesh Generation をコンパイルするかどうかを指定します。
$ bCompileNavmeshSegmentLinks (Boolean):NavMesh セグメント リンクを使用してコンパイルするかどうかを指定します。
$ bCompileNavmeshClusterLinks (Boolean):NavMesh クラスタ リンクを使用してコンパイルするかどうかを指定します。
$ bForceEnableExceptions (Boolean):すべてのモジュールに対して例外を有効にします。
$ bUseInlining (Boolean):すべてのモジュールに対してインライン化を有効にします。
$ bForceEnableObjCExceptions (Boolean):すべてのモジュールに対して例外を有効にします。
$ bForceEnableRTTI (Boolean):すべてのモジュールに対して RTTI を有効にします。
$ bEnablePIE (Boolean): Position Independent Executable (PIE) を有効にします。オーバーヘッド コストがあります。
$ bEnableStackProtection (Boolean): Stack Protection を有効にします。オーバーヘッド コストがあります。
$ bCompileWithStatsWithoutEngine (Boolean):エンジンがない場合でも統計情報のサポートを含めるかどうかを指定します。
$ bCompileWithPluginSupport (Boolean):プラグインのサポートを含めるかどうかを指定します。
$ bCompileWithAccessibilitySupport (Boolean):スレートと OS レイヤーの両方でアクセシビリティ コードを許可するかどうかを指定します。
$ bUseDebugLiveCodingConsole (Boolean):ライブ コーディングのサポートを有効にするかどうかを指定します。
$ bWithDirectXMath (Boolean): DirectX Math のサポートを有効にするかどうかを指定します。
$ bWithFixedTimeStepSupport (Boolean): エンジンで FixedTimeStep
をサポートするかどうかを指定します。
$ bUseLoggingInShipping (Boolean):テスト/シッピング ビルドのログ記録を有効にするかどうかを指定します。
$ bLoggingToMemoryEnabled (Boolean):テスト/シッピング ビルドのメモリへのログ記録を有効にするかどうかを指定します。
$ bUseLauncherChecks (Boolean):プロセスが外部ランチャーを介して起動されたことを確認するかどうかを指定します。
$ bUseChecksInShipping (Boolean):テスト/シッピング ビルドのチェック (アサート) を有効にするかどうかを指定します。
$ bTCHARIsUTF8 (Boolean):UTF-8 モード (TCHAR
から UTF8CHAR
へのマッピング) をオンにするかどうかを指定します。
$ bUseEstimatedUtcNow (Boolean):EstimatedUtcNow
または PlatformUtcNow
を使用するかどうかを指定します。PlatformUtcNow
を使用すると処理時間が長くなる可能性がある場合は、EstimatedUtcNow
の方が適しています。
$ bUseExecCommandsInShipping (Boolean): シッピング ビルドの実行コマンドを許可するかどうかを指定します。
$ bCompileFreeType (Boolean):FreeType のサポートが必要である場合に true を指定します。
$ bCompileForSize (Boolean):速度の最適化よりもサイズの最適化を優先する場合に true を指定します。
$ OptimizationLevel (OptimizationMode):速度、コード サイズ、またはその両方の最適化レベルを微調整できます。
$ bForceCompileDevelopmentAutomationTests (Boolean):開発自動化テストをコンパイルするかどうかを指定します。
$ bForceCompilePerformanceAutomationTests (Boolean):パフォーマンス自動化テストをコンパイルするかどうかを指定します。
$ bForceDisableAutomationTests (Boolean):自動化テスト (Debug/Development コンフィグ) のデフォルト設定をオーバーライドするかどうかを指定します。
$ bEventDrivenLoader (Boolean):true であれば、クック済みビルドでイベント駆動型ローダーが使用されます。
$ NativePointerMemberBehaviorOverride (NullableTObjectPtr
メンバで置き換える必要があります。
$ bUseXGEController (Boolean):XGE のコントローラー ワーカーとモジュールをエンジン ビルドに含めるかどうかを指定します。これらは、XGE インターセプション インターフェースを使用した分散シェーダー コンパイルに必要です。
$ bIWYUHeadersOnly (Boolean): "include what you use" にヘッダ ファイルのコンパイルのみを行うように指示します。
$ bIWYU (Boolean):このターゲットのモジュールに対してデフォルトで「include-what-you-use」を有効にします。このプロジェクトのすべてのモジュールのデフォルトの PCH モードが PCHUsageMode.UseExplicitOrSharedPCHs
に変更されます。
$ bEnforceIWYU (Boolean):「include-what-you-use」ルールが適用され、モノリシック ヘッダ (Engine.h
、UnrealEd.h
) が使用されている場合に警告が表示され、該当するヘッダがソース ファイルで最初にインクルードされていることがチェックされます。
$ bPrecompile (Boolean):このターゲットの中間ファイルとして、すべてのエンジン モジュールのスタティック ライブラリを作成します。
$ bEnableOSX109Support (Boolean):OS X 10.9 Mavericks のサポートを使用してコンパイルするかどうかを指定します。このバージョンの OS X との互換性が必要なツールに使用します。
$ bIsBuildingConsoleApplication (Boolean):これがコンソール アプリケーションのビルドである場合は true を指定します。
$ bDisableSymbolCache (Boolean):一部のプラットフォームでキャッシュされるデバッグ シンボルを作成しない場合は true を指定します。
$ bForceUnityBuild (Boolean):コンパイルを高速化するために、C++ コードをより大きなファイルに強制的にまとめるかどうかを指定します。
$ bMergeModuleAndGeneratedUnityFiles (Boolean):コンパイルを高速化するために、モジュールおよび生成される unity ファイルをマージするかどうかを指定します。
$ bUseAdaptiveUnityBuild (Boolean):ヒューリスティックな手法で、どのファイルが現在イテレートされているかを判別し、それらを unity BLOB から除外することで、インクリメンタル コンパイルの時間を短縮します。現在の実装では、ファイルが変更されるとソース コントロール システムによって書き込み可能になると仮定し、読み取り専用フラグを使用して作業セットが区別されています。この仮定は Perforce には当てはまりますが、Git には当てはまりません。
$ bAdaptiveUnityDisablesOptimizations (Boolean):unity ではない適応する作業セット内のファイル最適化を無効にします。
$ bAdaptiveUnityDisablesPCH (Boolean):unity ではない適応する作業セットに含まれるファイルの強制インクルード PCH を無効にします。
$ bAdaptiveUnityCreatesDedicatedPCH (Boolean):作業セット内のソース ファイルごとに専用の PCH を作成することで、単純な cpp の変更のイテレーションを高速化します。
$ bAdaptiveUnityEnablesEditAndContinue (Boolean):作業セット内のソース ファイルごとに専用の PCH を作成することで、単純な cpp の変更のイテレーションを高速化します。
$ bAdaptiveUnityCompilesHeaderFiles (Boolean):作業セット内のヘッダ ファイルごとに専用のソース ファイルを作成し、ヘッダに不足しているインクルードを検出します。
$ MinGameModuleSourceFilesForUnityBuild (Int32):unity ビルド前のゲーム モジュール内のソース ファイルの数は、そのモジュールに対してアクティブになります。これにより、小さなゲーム モジュールでは、単一ファイルの反復コンパイル時間を短縮できますが、完全再ビルド時間は遅くなります。この設定は、モジュールの Build.cs
ファイル内の bFasterWithoutUnity オプションでオーバーライドできます。
$ ShadowVariableWarningLevel (WarningLevel):シャドウ変数をサポートしているプラットフォーム上では、その警告を強制的にエラーとして扱うようにします。
$ bWarningsAsErrors (Boolean):すべての警告をエラーとして有効にするかどうかを指定します。UE ではすでにほとんどの警告をエラーとして有効にしていますが、非推奨であることの警告など、いくつかのものは有効になっていません。
$ UnsafeTypeCastWarningLevel (WarningLevel):安全でない型キャスト (double->float、int64->int32 など) がサポートされているプラットフォーム上で、それらをどの警告/エラー レベルで処理するかを表します。
$ bUndefinedIdentifierErrors (Boolean):条件式で未定義の識別子を使用すると、強制的にエラーとして処理するようにします。
$ bRetainFramePointersOverride (Nullablemallocframeprofiler
など) が望まれる場合に必要です。
$ bUseFastMonoCalls (Boolean):新しいモノリシック グラフィックス ドライバで、各種 D3d 関数に代わる「fast calls」オプションを使用することを指定します。
$ bDisableModuleNumIncludedBytesPerUnityCPPOverride (Boolean): モジュールで設定されたオーバーライドを無効にします。
$ NumIncludedBytesPerUnityCPP (Int32):単一の統合 C++ ファイルに含まれるターゲットとなる C++ コードの推定バイト数です。
$ bStressTestUnity (Boolean):単一の統合ファイルからプロジェクト内のすべての C++ ファイルをインクルードすることにより、C++ の unity ビルドの堅牢性のストレス テストを実行するかどうかを指定します。
$ bDetailedUnityFiles (Boolean):ファイル名に「_of_X」などが付いている unity ファイルに追加情報を付加するかどうかを指定します。
$ bForceDebugInfo (Boolean):デバッグ情報を強制的に生成するかどうかを指定します。
$ bDisableDebugInfo (Boolean):デバッグ情報の生成をグローバルに無効にするかどうかを指定します。コンフィグごとおよびプラットフォームごとのオプションについては、「DebugInfoHeuristics.cs」を参照してください。
$ bDisableDebugInfoForGeneratedCode (Boolean):生成されたファイルのデバッグ情報の生成を無効にするかどうかを指定します。これにより、大量のグルー コードが生成されるモジュールのリンク時間が短縮されます。
$ bOmitPCDebugInfoInDevelopment (Boolean):開発ビルド時に PC/Mac のデバッグ情報を無効にするかどうかを指定します (デバッグ情報を無効にするとリンク時間が非常に高速になるため、デベロッパーのイテレーションが高速になります)。
$ bUsePDBFiles (Boolean):PDB ファイルを Visual C++ ビルドに使用するかどうかを指定します。
$ bUsePCHFiles (Boolean):PCH ファイルを使用するかどうかを指定します。
$ bDeterministic (Boolean):決定的リンクで必要とされるフラグを設定します (実験的機能であり、完全にはサポートされていません)。決定的コンパイルは ModuleRules
で制御されています。
$ bForceDeterministic (Boolean):決定的コンパイルおよび決定的リンクで必要とされるフラグを強制的に設定します (実験的機能であり、完全にはサポートされていません)。この設定はテスト用でのみ使用することをお勧めします。代わりに、以下の設定を使用します。
決定的コンパイルを制御するには、ModuleRules.cs
でモジュールごとに bDeterministic を設定します。
決定的リンクを制御するには、TargetRules.cs
でターゲットごとに bDeterministic を設定します。
$ bForceIncludePCHHeadersForGenCppFilesWhenPCHIsDisabled (Boolean): PCH が無効の場合に、gen.cpp
ファイルに PCH ヘッダを強制的に含めるかどうかを指定します。
$ bPreprocessOnly (Boolean):このターゲット用のソース ファイルを前処理して、コンパイルをスキップするかどうかを指定します。
$ bPreprocessDepends (Boolean):前処理によって依存関係ファイルを生成することを指定します。この設定ではオーバーヘッドが増えるため、ビルドを配布する場合にのみ使用することをお勧めします。
$ StaticAnalyzer (StaticAnalyzer):静的コード解析を有効にするかどうかを指定します。
$ StaticAnalyzerOutputType (StaticAnalyzerOutputType):静的アナライザーで使用する出力タイプ。これは Clang でのみサポートされています。
$ StaticAnalyzerMode (StaticAnalyzerMode):静的アナライザーで使用するモード。これは Clang でのみサポートされています。浅い解析モードでは所要時間が短くなりますが、通常は使用しないことをお勧めします。
$ MinFilesUsingPrecompiledHeader (Int32):作成および使用前にプリコンパイル済みヘッダの使用を必要とするファイルの最小数です。
$ bForcePrecompiledHeaderForGameModules (Boolean):有効にすると、モジュール内のソース ファイルの数が少ない場合でも、常にゲーム モジュール用のプリコンパイル済みヘッダが生成されます。これにより、プロジェクト内のいくつかのファイルで繰り返し変更を行う際のコンパイル時間が大幅に短縮されますが、小さなゲーム プロジェクトでは完全な再ビルドの時間が遅くなります。これは、モジュールの .Build.cs
ファイルで MinFilesUsingPrecompiledHeaderOverride を設定することでオーバーライドできます。
$ bUseIncrementalLinking (Boolean):インクリメンタル リンクを使用するかどうかを指定します。インクリメンタル リンクを使用すると、小さな変更を行うときのイテレーション時間を短縮できます。一部のコンピュータでは動作が不安定になる (PDB 関連のコンパイル エラー) 傾向があるため、現在デフォルトでは無効になっています。
$ bAllowLTCG (Boolean):リンク時コード生成 (LTCG) の使用を許可するかどうかを指定します。
$ bPreferThinLTO (Boolean):リンク時コード生成 (LTCG) が有効な場合に、サポートされているプラットフォームの軽量バージョンの使用を優先するかどうかを指定します。
$ ThinLTOCacheDirectory (String): サポートされたプラットフォームの ThinLTO キャッシュを置くディレクトリ。
$ ThinLTOCachePruningArguments (String): サポートされているプラットフォームで ThinLTO キャッシュをプルーンするために適用される引数です。引数は、ThinLTOCacheDirectory が設定されている場合にのみ適用されます。
$ bPGOProfile (Boolean):このビルドで最適化のガイド付きプロファイル (PGO) を使用したインストールを有効にするかどうかを指定します。
$ bPGOOptimize (Boolean):最適化のガイド付きプロファイル (PGO) を使用してこのビルドを最適化するかどうかを指定します。
$ bSupportEditAndContinue (Boolean):編集をサポートして続行するかどうかを指定します。Microsoft コンパイラでのみ機能します。
$ bOmitFramePointers (Boolean):フレーム ポインタを省略するかどうかを指定します。無効にすると、PC でのメモリ プロファイリングで効果があります。
$ bEnableCppModules (Boolean):C++20 モジュールのサポートを有効にするかどうかを指定します。
$ bEnableCppCoroutinesForEvaluation (Boolean):C++20 コルーチンのサポートを有効にするかどうかを指定します。これは、この機能の評価のために提供されているオプションです。このオプションの名前は将来変更される可能性があります。UE 内でのコルーチンの使用はテストされておらず、サポートされていません。
$ bEnableProcessPriorityControl (Boolean):エンジンがランタイム時に処理の優先順位を設定できるようにするかどうかを指定します。このオプションは Linux で一部の環境設定が必要になるため、デフォルトでは無効になっています。正しい設定を保証するため、プロジェクトはこの機能を選択して使用する必要があります。
$ bUseMallocProfiler (Boolean):true であれば、ビルドでメモリ プロファイリングが有効になります (USE_MALLOC_PROFILER=1
を定義し、bOmitFramePointers=false
を強制します)。
$ bShaderCompilerWorkerTrace (Boolean):true であれば、Shader Compiler Worker に対してビルドで Unreal Insights (utrace) プロファイリングが有効になります (USE_SHADER_COMPILER_WORKER_TRACE=1
を定義します)。
$ bUseSharedPCHs (Boolean):「共有 PCH」を有効にします。この機能では、PCH のヘッダ ファイルも含めて、UBT で検出されたモジュール間で特定の PCH ファイルを共有しようとすることで、コンパイル時間が大幅に短縮されます。
$ bUseShippingPhysXLibraries (Boolean):開発ビルドおよびリリース ビルドで PhysX/APEX のリリース コンフィギュレーションを使用する必要がある場合に true を指定します。
$ bUseCheckedPhysXLibraries (Boolean):開発ビルドおよびリリース ビルドで、PhysX/APEX のチェック済みコンフィギュレーションを使用する必要がある場合に true を指定します。bUseShippingPhysXLibraries
が true であれば、この設定は無視されます。
$ bCheckLicenseViolations (Boolean):現在ビルドされているモジュールが EULA に違反しているかどうかをチェックするように、UBT に指示します。
$ bBreakBuildOnLicenseViolation (Boolean):現在ビルドされているモジュールが EULA に違反していればビルドを中断するように、UBT に指示します。
$ bUseFastPDBLinking (Nullable/DEBUG
付きでビルドしてローカル PDB を作成する場合に、:FASTLINK
オプションを使用するかどうかを指定します。高速ですが、現時点ではデバッガでのシンボルの検索に問題があるようです。
$ bCreateMapFile (Boolean):ビルドの一環としてマップ ファイルを出力します。
$ bAllowRuntimeSymbolFiles (Boolean):一部のプラットフォームでビルド後の手順としてランタイム シンボル ファイルを生成する場合に true を指定します。生成されたファイルは、ログでのコールスタックのバックトレースのシンボル名を解決するためにエンジンによって使用されます。
$ PackagePath (String):リンク時に使用される入力ファイルが格納される、パッケージのフルパス (ディレクトリ名 + ファイル名) を指定します。通常は、リンカのクラッシュのデバッグがサポートされているプラットフォームで、デバッグするために使用されます。
$ CrashDiagnosticDirectory (String):クラッシュ レポート ファイルがサポートされているプラットフォームで、それらのファイルを配置するディレクトリを指定します。
$ BundleVersion (String):Mac アプリ用のバンドル バージョン。
$ bDeployAfterCompile (Boolean):コンパイル後に、デプロイが必要なプラットフォームに実行ファイルをデプロイするかどうかを指定します。
$ bAllowRemotelyCompiledPCHs (Boolean):true であれば、XGE がプリコンパイル済みヘッダ (PCH) をリモート マシン上でコンパイルできます。true でなければ、PCH は常にローカルで生成されます。
$ bCheckSystemHeadersForModification (Boolean):古いアクションと判断された場合に、システム パスにあるヘッダの変更確認を行うかどうかを指定します。
$ bDisableLinking (Boolean):このターゲットに対してリンクを無効にするかどうかを指定します。
$ bIgnoreBuildOutputs (Boolean):このターゲットに対してビルド出力のトラッキングを無視するかどうかを指定します。
$ bFormalBuild (Boolean):これが配布用の正式なビルドであることを表します。Build.version に変更リストが設定されている場合、このフラグは自動的に true に設定されます。現在このフラグには、OriginalFilename フィールドが正しく設定されるように、バイナリごとにデフォルトのリソース ファイルを個別にコンパイルする動作のみがバインドされています。デフォルトでは、ビルド時間を短縮するためにリソースが 1 回だけコンパイルされます。
$ bFlushBuildDirOnRemoteMac (Boolean):ビルド前にリモート Mac の「Builds」ディレクトリを消去するかどうかを指定します。
$ bPrintToolChainTimingInfo (Boolean):コンパイラおよびリンカから詳細なタイミング情報を書き込むかどうかを指定します。
$ bParseTimingInfoForTracing (Boolean):タイミング データをパースして、chrome://tracing
と互換性のあるトレース ファイルに格納するかどうかを指定します。
$ bPublicSymbolsByDefault (Boolean):POSIX プラットフォーム上でデフォルトですべてのシンボルをパブリックとして公開するかどうかを指定します。
$ bDisableInliningGenCpps (Boolean): gen.cpp
ファイルの初期化のサポートを無効にします。
$ ToolChainName (String):このターゲット用に作成されるツール チェーンをオーバーライドできます。これは、UnrealBuildTool アセンブリで宣言されているクラス名と一致している必要があります。
$ bDisableUnverifiedCertificates (Boolean):未確認の証明書をロードできるかどうかを、エンジンのコンフィギュレーションで判断できるようにするかどうかを指定します。
$ bAllowGeneratedIniWhenCooked (Boolean):クック済みビルドで、生成された .ini ファイルをロードするかどうかを指定します (「GameUserSettings.ini
」はこの設定に関係なくロードされます)。
$ bAllowNonUFSIniWhenCooked (Boolean):クック済みビルドで、UFS ではない ini ファイルをロードするかどうかを指定します (「GameUserSettings.ini
」はこの設定に関係なくロードされます)。
$ CppStandard (CppStandardVersion):このターゲットのコンパイルに使用する C++ 規格を指定します。
$ CStandard (CStandardVersion):このターゲットのコンパイルに使用する C 規格を指定します。
$ BuildVersion (String):ビルド バージョン文字列。
$ GlobalDefinitions (List
$ ProjectDefinitions (List
$ ExportPublicHeader (String):このターゲットのパブリック定義を含むヘッダを書き込むパスを指定します。外部ビルド プロセスで使用する DLL をビルドする場合に便利です。
$ ExtraModuleNames (List
$ ManifestFileNames (List
$ DependencyListFileNames (List
$ bOverrideBuildEnvironment (Boolean):共有ビルド環境に対する違反 (例:Editor ターゲットで定義が変更されている) を無視するかどうかを指定します。
$ PreBuildTargets (List
$ PreBuildSteps (List
$(EngineDir)
$(ProjectDir)
$(TargetName)
$(TargetPlatform)
$(TargetConfiguration)
$(TargetType)
$(ProjectFile)
$ PostBuildSteps (List
$(EngineDir)
$(ProjectDir)
$(TargetName)
$(TargetPlatform)
$(TargetConfiguration)
$(TargetType)
$(ProjectFile)
$ AdditionalBuildProducts (List
$ AdditionalCompilerArguments (String):コンパイラに渡す追加の引数。
$ AdditionalLinkerArguments (String):リンカに渡す追加の引数。
$ MemoryPerActionGB (Double):各コンパイル処理で必要とされる可能性があるメモリの最大量。同時に開始できる並列処理の最大数を決めるために、ParallelExecutor
で使用されます。
$ DisableUnityBuildForModules (String[]):unity ビルドを無効にするモジュールのリスト。
$ EnableOptimizeCodeForModules (String[]):最適化を有効にするモジュールのリスト。
$ DisableOptimizeCodeForModules (String[]):最適化を無効にするモジュールのリスト。
$ GeneratedProjectName (String):プロジェクト ファイルの生成時に同じタイプのターゲットが複数ある場合に使用するプロジェクト ファイル名を指定します。
$ OptedInModulePlatforms (UnrealTargetPlatform[]):これが null 以外である場合、このリストに含まれていないプラットフォームでは、モジュールをそれぞれのディレクトリに作成することはできません。
$ Name (String):このターゲットの名前。
$ DefaultBuildSettings (BuildSettingsVersion):後方互換性があるデフォルト ビルド設定を維持するエンジン バージョン (DefaultSettingsVersion.Release_4_23
、DefaultSettingsVersion.Release_4_24
など) を指定します。現在のエンジン バージョンのデフォルト設定が常に使用されるように DefaultSettingsVersion.Latest
を指定します。ただし、アップグレード時にビルド エラーが生じるリスクを伴います。
$ IncludeOrderVersion (EngineIncludeOrderVersion):このターゲットのコンパイル時にどのバージョンのインクルード順序を使用するかを指定します。コマンドラインで -ForceIncludeOrder
を使用してオーバーライドできます。この設定よりも ModuleRules.IncludeOrderVersion
の方が優先されます。
$ bAllowHotReload (Boolean):このターゲットでホット リロードをサポートするかどうかを指定します。
$ bUseGameplayDebugger (Boolean):WITH_GAMEPLAY_DEBUGGER
を有効にしてコンパイルして GameplayDebugger を使用するかどうかを指定します。
$ bUseGameplayDebuggerCore (Boolean): bUseGameplayDebugger が false で GameplayDebugger のコアの部分が必要な場合、true に設定します。
$ bBuildEditor (Boolean):エディタ コードをコンパイルするかどうかを指定します。代わりに、より明示的な bCompileAgainstEditor を使用することをお勧めします。
$ bBuildRequiresCookedData (Boolean):アセットのビルドに関連するコードをコンパイルするかどうかを指定します。通常、コンソールではアセットをビルドできませんが、デスクトップ プラットフォームではビルドできます。
$ bBuildWithEditorOnlyData (Boolean):WITH_EDITORONLY_DATA
を無効にしてコンパイルするかどうかを指定します。これは Windows のみで使用されるため、他のプラットフォームでは強制的に false になります。
$ bBuildDeveloperTools (Boolean):デベロッパー ツールをコンパイルするかどうかを指定します。
$ bBuildTargetDeveloperTools (Boolean):ターゲット プラットフォーム向けまたは接続されているデバイス向けのデベロッパー ツールをコンパイルするかどうかを指定します (デフォルトは bBuildDeveloperTools)。
$ bNeedsExtraShaderFormats (Boolean):追加のシェーダー形式を含めるかどうかを指定します。デフォルトでは、Program および Editor ターゲットに対してのみ有効になっています。
$ bCompileAgainstEngine (Boolean):エンジン プロジェクトを含むすべてのビルドに対して有効になります。コアとのみリンクするスタンドアローン アプリケーションをビルドする場合にのみ無効になります。
$ bCompileAgainstCoreUObject (Boolean):CoreUObject
プロジェクトをインクルードするすべてのビルドで有効になります。コアとのみリンクするスタンドアローン アプリケーションをビルドする場合にのみ無効になります。
$ bCompileAgainstApplicationCore (Boolean):ApplicationCore モジュールを初期化する必要があるビルドに対して有効になります。コマンドライン ユーティリティは通常これを必要としません。
$ bCompileAgainstEditor (Boolean):Editor ビルド (TargetType.Editor
) で有効になります。エディタ コードをコンパイルする必要がある Program ビルド (TargetType.Program
) ではオーバーライドできます。他のターゲット タイプでは利用できません。主に WITH_EDITOR
の値が変更されます。
$ bCompileSpeedTree (Boolean):SpeedTree のサポートを有効にしてコンパイルするかどうかを指定します。
$ bWithServerCode (Boolean):サーバーのみのコードをコンパイルします。
$ bFNameOutlineNumber (Boolean):番号部分を名前テーブルに格納する FName
を使用してコンパイルします。ほとんどの名前が番号付きでなく、それらが複数回参照されている場合は、メモリ使用量が節約されます。ゲームおよびエンジンでは、名前文字列と同様に番号付き名前を再利用できるようにして、メモリ リークを回避する必要があります。
$ bWithPushModel (Boolean):true であれば、Push Model Networking のサポートを使用してコンパイルされます。これにより、ネットワークの CPU オーバーヘッドが軽減されますが、メモリ負荷は高くなります。Editor ビルドでは常に有効です。
$ bIncludePluginsForTargetPlatforms (Boolean):すべてのターゲット プラットフォームをサポートするプラグインを許可するかどうかを指定します。
$ bWithPerfCounters (Boolean):PerfCounters のサポートをインクルードするかどうかを指定します。
$ bWithLiveCoding (Boolean):ライブ コーディングのサポートを有効にするかどうかを指定します。
$ bHasExports (Boolean):最終実行ファイルがシンボルをエクスポートするかどうかを指定します。
$ bBuildAdditionalConsoleApp (Boolean):True の場合は、追加のコンソール アプリケーションを作成します。Windows 用ハックです。アプリケーションの呼び出し方法によっては、条件付きで親のコンソール ウィンドウを継承できません。この場合、別のサブシステム設定を使用して同じ実行可能ファイルをリンクする必要があります。
$ bUseUnityBuild (Boolean):コンパイルを高速化するために、C++ コードを大きなファイルに統合するかどうかを指定します。
$ bAdaptiveUnityDisablesPCHForProject (Boolean):unity ではない適応する作業セットに含まれるプロジェクト ソース ファイルの強制インクルード PCH を無効にするかどうかを指定します。デフォルトは bAdaptiveUnityDisablesPCH です。
$ DefaultWarningLevel (WarningLevel):未分類の警告に対するデフォルトの処理を指定します。
$ DeprecationWarningLevel (WarningLevel):非推奨の警告をエラーとして報告するレベル。
$ bRetainFramePointers (Boolean):フレーム ポインタが維持されるように強制します。これは通常は、信頼できるコールスタック (mallocframeprofiler
など) が望まれる場合に必要です。
$ bLegacyPublicIncludePaths (Boolean):すべてのパブリック フォルダがコンパイル環境のインクルード パスとして追加されます。
$ bLegacyPublicIncludePaths (Boolean):すべてのパブリック フォルダがコンパイル環境のインクルード パスとして追加されます。
$ LinkType (TargetLinkType):このターゲットに含まれているモジュールをリンクする方法を指定します (モノリシックまたはモジュール式)。現在、この設定は後方互換性を確保するために保持されています。非推奨の ShouldCompileMonolithic
オーバーライドのサポートが取り除かれるまでは、GetLinkType
アクセサーを呼び出してください。
$ LaunchModuleName (String):起動モジュールの名前を指定します。モジュール式のビルドの場合は、このモジュールがコンパイルされてターゲットの実行可能ファイルに入ります。
$ BuildEnvironment (TargetBuildEnvironment):このターゲットのビルド環境を指定します。使用可能なオプションの詳細については、「TargetBuildEnvironment
」を参照してください。