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;
// その他のプロパティはこちらに来ます
}
}
読み取り専用プロパティ
$ Platform (UnrealTargetPlatform): このターゲットのビルド対象とするプラットフォーム。
$ Configuration (UnrealTargetConfiguration): ビルドされているコンフィギュレーション。
$ Architectures (UnrealArchitectures): このターゲットのビルド対象とするアーキテクチャ (または、デフォルトである空文字列)。
$ ProjectFile (FileReference): このターゲットが入っているプロジェクトのプロジェクト ファイルのパス。
$ Version (ReadOnlyBuildVersion): 現在のビルド バージョン。
$ OriginalName (String): オーバーライドや装飾なしに、元のターゲット名を返します。
$ IsTestTarget (Boolean): これが低レベルのテスト ターゲットかどうかを指定します。
$ ExplicitTestsTarget (Boolean): これが明示的に定義されているテスト ターゲットかどうかを指定します。明示的に定義されているテスト ターゲットでは常に TestTargetRules が継承され、独自のテストが定義されています。暗黙のテスト ターゲットは、-Mode=Test が指定されているビルド時に既存のターゲットから作成され、すべての依存関係からのテストが含まれています。
$ WithLowLevelTests (Boolean): モジュール特有の低レベル テストをコンパイルするかどうかを決定づける WITH_LOW_LEVEL_TESTS
の値を制御します。
$ Architecture (UnrealArch): 通常どおり、アーキテクチャ内に単一のアーキテクチャがある場合、アーキテクチャを取得します (複数のアーキテクチャが指定されている場合は、例外がスローされます)。
$ bIWYU (Boolean): このターゲットのモジュールに対してデフォルトで「include-what-you-use」を有効にします。このプロジェクトのあらゆるモジュールのデフォルト PCH モードを PCHUsageMode.UseExplicitOrSharedPCHs に変更します。
$ HostPlatform (UnrealTargetPlatform): ビルドに使用されているホスト プラットフォームを取得します。
$ bGenerateProjectFiles (Boolean): bGenerateProjectFiles フラグをターゲットに公開します。これにより、デベロッパーはインテリセンスの強化に向けて動作を適切に調整できます。
$ bShouldTargetRulesTogglePlugins (Boolean): ターゲットのルールを使用してプラグインを明示的に有効または無効にするかどうかを表します。参照されているプラグインをビルドするかどうかがプロジェクト ファイルで示されていない限り、通常はプロジェクトの生成には不要です。
$ bIsEngineInstalled (Boolean): エンジンをインストールするかどうかの設定を公開します。
読み取り/書き込みプロパティ
$ IntermediateEnvironment (UnrealIntermediateEnvironment): 中間環境。中間ファイルが通常とは異なるフォルダに格納されるかどうかを決定します。
$ 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): このターゲットからの出力が、特別な制約のあるフォルダ内のモジュールに依存関係があっても公開可能かどうかを指定します (たとえば、公開可能かどうかを指定します)。
$ UndecoratedConfiguration (UnrealTargetConfiguration): バイナリに「-Platform-Configuration」サフィックスが不要なコンフィギュレーションを指定します。
$ bBuildAllModules (Boolean): このターゲット タイプに対して有効なすべてのモジュールをビルドします。CIS およびインストールされているエンジン ビルドの作成に使用されます。
$ VSTestRunSettingsFile (FileReference): 生成されるプロジェクトで VSTest の実行設定ファイルが参照されるように設定します。
$ BuildPlugins (List
$ bRuntimeDependenciesComeFromBuildPlugins (Boolean): True の場合は、RuntimeDependencies への入力に EnablePlugins ではなく BuildPlugins リストが使用されます。
$ AdditionalPlugins (List
$ EnablePlugins (List
$ DisablePlugins (List
$ DisablePluginsConflictWarningLevel (WarningLevel): 無効にされたプラグインがそれを参照する別のプラグインによって有効にされている場合に、競合を処理する方法。
$ InternalPluginDependencies (List
$ PakSigningKeysFile (String): 実行ファイルに埋め込む pak 署名キーのセットへのパスです。
$ SolutionDirectory (String): プログラム ターゲットが独自のソリューション フォルダ パスを指定できるようにします。
$ bBuildInSolutionByDefault (Nullable
$ bShouldCompileAsDLL (Boolean): このターゲットを DLL としてコンパイルするかどうかを指定します。LinkType を TargetLinkType.Monolithic に設定する必要があります。
$ CustomConfig (String): 同じプラットフォームで複数のビルド タイプを作成するための、コンフィグ ファイルのロード元となる追加のサブディレクトリです。これは CUSTOM_CONFIG としてゲーム実行可能ファイルにベイクされ、ファイルと設定のフィルタリングをステージングする際に使用されます。
$ ExeBinariesSubFolder (String): 実行ファイルを配置するサブフォルダを、デフォルトの場所からの相対パスで指定します。
$ GeneratedCodeVersion (EGeneratedCodeVersion): ターゲット モジュールが UHT コード生成バージョンをオーバーライドできるようにします。
$ bEnableMeshEditor (Boolean): メッシュ エディタを有効にするかどうかを指定します。
$ bUseAutoRTFMCompiler (Boolean): AutoRTFM Clang コンパイラを使用するかどうかを指定します。
$ bCompileChaos (Boolean): Chaos 物理プラグインをコンパイルするかどうかを指定します。
$ bUseChaos (Boolean): Chaos 物理インターフェースを使用するかどうかを指定します。これにより Physx フラグがオーバーライドされ、APEX と NvCloth が無効になります。
$ bUseChaosChecked (Boolean): チェック済み Chaos 機能を使用してデバッグ用にコンパイルするかどうかを指定します。
$ bUseChaosMemoryTracking (Boolean): Chaos メモリ トラッキング機能を使用してコンパイルするかどうかを指定します。
$ bCompileChaosVisualDebuggerSupport (Boolean): 物理シミュレーションの状態を記録するために、Chaos Visual Debugger (CVD) のサポート機能でコンパイルするかどうかを指定します。
$ 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): SQLite をコンパイルするときに、カスタムの「Unreal」プラットフォームを使用するか (True)、ネイティブのプラットフォームを使用するか (False) を指定します。
$ 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): 位置独立実行形式 (PIE) を有効にします。オーバーヘッドのコストがかかります。
$ bEnableStackProtection (Boolean): スタック保護を有効にします。オーバーヘッドのコストがかかります。
$ bCompileWithStatsWithoutEngine (Boolean): エンジンがない場合でも統計情報のサポートを含めるかどうかを指定します。
$ bCompileWithPluginSupport (Boolean): プラグインのサポートを含めるかどうかを指定します。
$ bCompileWithAccessibilitySupport (Boolean): スレートと OS レイヤーの両方でアクセシビリティ コードを許可するかどうかを指定します。
$ bUseDebugLiveCodingConsole (Boolean): ライブ コーディングのサポートを有効にするかどうかを指定します。
$ bWithDirectXMath (Boolean): DirectX Math のサポートを有効にするかどうかを指定します。
$ bWithFixedTimeStepSupport (Boolean): エンジンで FixedTimeStep のサポートを有効にするかどうかを指定します。
$ bUseLoggingInShipping (Boolean): テスト/シッピング ビルドのログ記録を有効にするかどうかを指定します。
$ bLoggingToMemoryEnabled (Boolean): テスト/シッピング ビルドのメモリへのログ記録を有効にするかどうかを指定します。
$ bUseLauncherChecks (Boolean): プロセスが外部ランチャーを介して起動されたことを確認するかどうかを指定します。
$ bUseChecksInShipping (Boolean): テスト/シッピング ビルドのチェック (アサート) を有効にするかどうかを指定します。
$ bAllowProfileGPUInTest (Boolean): テスト ビルドの GPU マーカーを有効にするかどうかを指定します。
$ bAllowProfileGPUInShipping (Boolean): シッピング ビルドの GPU マーカーを有効にするかどうかを指定します。
$ bTCHARIsUTF8 (Boolean): UTF-8 モード (TCHAR から UTF8CHAR へのマッピング) をオンにするかどうかを指定します。
$ bUseEstimatedUtcNow (Boolean): EstimatedUtcNow または PlatformUtcNow の使用を指定します。PlatformUtcNow が遅くなる可能性のある場合は、EstimatedUtcNow が適しています。
$ bCompileFreeType (Boolean): FreeType のサポートが必要である場合に true を指定します。
$ bUseExecCommandsInShipping (Boolean): シッピング ビルドの exec コマンドを許可するかどうかを指定します。
$ bCompileForSize (Boolean): 速度の最適化よりもサイズの最適化を優先する場合に true を指定します。
$ OptimizationLevel (OptimizationMode): 速度とコード サイズの最適化レベルの微調整を許可します。
$ bForceCompileDevelopmentAutomationTests (Boolean): 開発自動化テストをコンパイルするかどうかを指定します。
$ bForceCompilePerformanceAutomationTests (Boolean): パフォーマンス自動化テストをコンパイルするかどうかを指定します。
$ bForceDisableAutomationTests (Boolean): 自動化テスト (Debug/Development コンフィグ) のデフォルト設定をオーバーライドするかどうかを指定します。
$ bEventDrivenLoader (Boolean): true であれば、クック済みビルドでイベント駆動型ローダーが使用されます。@todoio これは非同期ローディング リファクタリング後のランタイム ソリューションに置き換える必要があります。
$ NativePointerMemberBehaviorOverride (Nullable
$ bUseXGEController (Boolean): XGE のコントローラー ワーカーとモジュールをエンジン ビルドにインクルードするかどうかを指定します。これらは、XGE インターセプション インターフェースを使用した分散シェーダー コンパイルに必要です。
$ bHeadersOnly (Boolean): -IncludeHeaders とともに使用する場合、ヘッダ ファイルのみがコンパイルされます。
$ bEnforceIWYU (Boolean): 「include-what-you-use」ルールが適用され、モノリシック ヘッダ (Engine.h
、UnrealEd.h
など) が使用されている場合に警告が表示され、該当するヘッダがソース ファイルで最初にインクルードされていることがチェックされます。
$ bWarnAboutMonolithicHeadersIncluded (Boolean): このターゲットのコンパイル中に、古いスタイルのモノリシック ヘッダがインクルードされている場合は警告が表示されます。
$ bPrecompile (Boolean): このターゲットの中間ファイルとして、すべてのエンジン モジュールのスタティック ライブラリを作成します。
$ bEnableOSX109Support (Boolean): OS X 10.9 Mavericks のサポートを使用してコンパイルするかどうかを指定します。このバージョンの OS X との互換性が必要なツールに使用します。
$ bIsBuildingConsoleApplication (Boolean): ビルド中のコンソール アプリケーションの場合は True にします。
$ bDisableSymbolCache (Boolean): 一部のプラットフォームでキャッシュされるデバッグ シンボルを作成しない場合は true を指定します。
$ bForceUnityBuild (Boolean): コンパイルを高速化するために、C++ ソース ファイルをより大きなファイルに強制的にまとめるかどうかを指定します。
$ bMergeModuleAndGeneratedUnityFiles (Boolean): コンパイルを高速化するために、モジュールおよび生成された unity ファイルをマージするかどうかを指定します。
$ DisableMergingModuleAndGeneratedFilesInUnityFiles (String[]): 同じ unity ファイル内にあるモジュールと生成された cpp ファイルのマージを無効にするモジュールのリスト。
$ bUseAdaptiveUnityBuild (Boolean): ヒューリスティックな手法で、現在イテレート中のファイルを判別し、それらを unity BLOB から取り除くことで、インクリメンタル コンパイルの時間を短縮します。現在の実装では、ファイルが変更されるとソース コントロール システムによって書き込み可能になると仮定し、読み取り専用フラグを使用して作業セットが区別されています。この仮定は Perforce には当てはまりますが、Git には当てはまりません。
$ bAdaptiveUnityDisablesOptimizations (Boolean): 適応する non-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): 条件式で未定義の識別子を使用すると、強制的にエラーとして処理するようにします。
$ PCHPerformanceIssueWarningLevel (WarningLevel): 潜在的な PCH パフォーマンス問題に、どの警告/エラー レベルで対処するかを示します。
$ ModuleIncludePathWarningLevel (WarningLevel): 一般的なモジュールのインクルード パス検証メッセージを処理する方法。
$ ModuleIncludePrivateWarningLevel (WarningLevel): プライベート モジュールのインクルード パス検証メッセージをどのように処理するかを指定します。モジュールは、プライベート ヘッダを公開するインクルード パスを追加します。
$ ModuleIncludeSubdirectoryWarningLevel (WarningLevel): 不要なモジュールのサブディレクトリ インクルード パス検証メッセージをどのように処理するかを指定します。
$ bRetainFramePointersOverride (Nullable
$ bUseFastMonoCalls (Boolean): 新しいモノリシック グラフィックス ドライバで、各種 D3d 関数に代わる「fast calls」オプションを使用することを指定します。
$ NumIncludedBytesPerUnityCPP (Int32): 単一の統合 C++ ファイルに含まれるターゲットとなる C++ コードの推定バイト数。
$ bDisableModuleNumIncludedBytesPerUnityCPPOverride (Boolean): モジュールによって設定されているオーバーライドを無効にします。
$ 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 ファイルを使用するかどうかを指定します。
$ bChainPCHs (Boolean): Clang を使用してコンパイルするときに、PCH をつなぐ必要があるかどうかを指定します。
$ bForceIncludePCHHeadersForGenCppFilesWhenPCHIsDisabled (Boolean): PCH が無効な場合、gen.cpp ファイルに PCH ヘッダを強制的にインクルードするかどうかを指定します。
$ bPreprocessOnly (Boolean): このターゲット用のソース ファイルを前処理して、コンパイルをスキップするかどうかを指定します。
$ bPreprocessDepends (Boolean): プリプロセシングによって依存関係ファイルを生成します。この設定ではオーバーヘッドが増えるため、ビルドを配布する場合にのみ使用することをお勧めします。
$ bWithAssembly (Boolean): このターゲットのコンパイル中にアセンブリ データを生成するかどうかを指定します。現時点では MSVC のみで機能します。
$ 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) を使用してこのビルドを最適化するかどうかを指定します。
$ bCodeCoverage (Boolean): ターゲットにコード カバレッジのコンパイルとリンクが必要かどうかを指定します。
$ bSupportEditAndContinue (Boolean): 編集をサポートし継続するかどうかを指定します。
$ 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 の場合、シェーダー コンパイラ ワーカーのビルドで 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
$ bCreateMapFile (Boolean): ビルドの一環としてマップ ファイルを出力します。
$ bAllowRuntimeSymbolFiles (Boolean): 一部のプラットフォームでポスト ビルド ステップとしてランタイム シンボル ファイルを生成する場合は true に設定します。これらのファイルは、ログでのコールスタック バックトレースのシンボル名を解決するためにエンジンによって使用されます。
$ PackagePath (String): リンク時に使用される入力ファイルが格納される、パッケージのフルパス (ディレクトリ名 + ファイル名)。通常は、リンカのクラッシュのデバッグがサポートされているプラットフォームで、デバッグするために使用されます。
$ CrashDiagnosticDirectory (String): クラッシュ レポート ファイルがサポートされているプラットフォームで、それらのファイルを配置するディレクトリ。
$ BundleVersion (String): Mac アプリ用のバンドル バージョン。
$ bDeployAfterCompile (Boolean): コンパイル後に、デプロイが必要なプラットフォームに実行ファイルをデプロイするかどうかを指定します。
$ bAllowRemotelyCompiledPCHs (Boolean): 有効にすると、XGE はリモート マシンでプリコンパイル済みのヘッダ ファイルをコンパイルできます。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 アセンブリで宣言されたクラス名と一致する必要があります。
$ MSVCCompileActionWeight (Single): MSVC コンパイル アクションのウェイト (CPU/メモリ使用率) です。
$ ClangCompileActionWeight (Single): Clang コンパイル アクションのウェイト (CPU/メモリ使用率) です。
$ bDisableUnverifiedCertificates (Boolean): 未確認の証明書をロードできるかどうかを、エンジンのコンフィギュレーションで判断できるようにするかどうかを指定します。
$ bAllowGeneratedIniWhenCooked (Boolean): クックされたビルドで生成された ini ファイルをロードするかどうかを指定します (「GameUserSettings.ini
」はこの設定に関係なくロードされます)。
$ bAllowNonUFSIniWhenCooked (Boolean): クック済みビルドで、UFS ではない ini ファイルをロードするかどうかを指定します (「GameUserSettings.ini
」はこの設定に関係なくロードされます)。
$ CStandard (CStandardVersion): このターゲットのコンパイルに使用する C 規格を指定します。
$ MinCpuArchX64 (MinimumCpuArchitectureX64): SSE または AVX 組み込み関数が使用されているかどうかに関係なく、AVX 命令がサポートされている x64 プラットフォームでは AVX 命令を生成するようにコンパイラに指示します。なお、これを有効にすると、PC プラットフォームの最小要件が変わり、生成される実行ファイルは、AVX がサポートされていないマシンではクラッシュします。
$ 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[]): 最適化を無効にするモジュールのリスト。
$ OptimizeForSizeModules (String[]): サイズを最適化するためのモジュールのリスト。これにより、ターゲットはモジュールの最適化レベルをオーバーライドすることができます。プライベート PCH が提供されていない場合、PCH の使用が無効になる可能性があることに注意してください。
$ OptimizeForSizeAndSpeedModules (String[]): サイズと速度を最適化するためのモジュールのリスト。これにより、ターゲットはモジュールの最適化レベルをオーバーライドすることができます。プライベート PCH が提供されていない場合、PCH の使用が無効になる可能性があることに注意してください。
$ GeneratedProjectName (String): プロジェクト ファイルの生成時に同じタイプのターゲットが複数ある場合に使用するプロジェクト ファイル名を指定します。
$ OptedInModulePlatforms (UnrealTargetPlatform[]): これが null 以外である場合、このリストに含まれていないプラットフォームでは、モジュールをそれぞれのディレクトリに作成することはできません。
$ Name (String): このターゲットの名前。
$ Logger (ILogger): このターゲットに関連する出力のロガー。コンストラクタが実行される前に設定します。
$ AdditionalData (Object): 汎用の null になり得るオブジェクト。ユーザーはリリース後に新しいプロパティを追加する必要なしに追加データをプロジェクトの TargetRule に設定し、プロジェクトの ModuleRule にアクセスできます。たとえば、.Target.cs
では AdditionalData = "data";
を使用し、.Build.cs
では if ((Target.AdditionalData as string) == "data") { ... を使用します。}
.
$ DefaultBuildSettings (BuildSettingsVersion): 後方互換性があるデフォルト ビルド設定を維持するエンジン バージョン (DefaultSettingsVersion.Release_4_23
、DefaultSettingsVersion.Release_4_24
など) を指定します。現在のエンジン バージョンのデフォルト設定が常に使用されるように DefaultSettingsVersion.Latest
を指定します。ただし、アップグレード時にビルド エラーが生じるリスクを伴います。
$ IncludeOrderVersion (EngineIncludeOrderVersion): このターゲットのコンパイル時にどのバージョンのインクルード順序を使用するかを指定します。コマンドラインで -ForceIncludeOrder
を使用してオーバーライドできます。この設定よりも ModuleRules.IncludeOrderVersion
の方が優先されます。
$ bAllowHotReload (Boolean): このターゲットでホット リロードをサポートするかどうかを指定します。
$ bUseGameplayDebugger (Boolean): すべてのエンジンのデフォルト ゲームプレイ デバッガ カテゴリで、WITH_GAMEPLAY_DEBUGGER
を有効にしてコンパイルするかどうかを指定します。
$ 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): ライブ コーディングのサポートを有効にするかどうかを指定します。
$ bIncludeHeaders (Boolean): インクルードされたモジュールのヘッダ ファイルをビルドに追加します。
$ bHasExports (Boolean): 最終実行ファイルがシンボルをエクスポートするかどうかを指定します。
$ bBuildAdditionalConsoleApp (Boolean): true の場合は、追加のコンソール アプリケーションを作成します。Windows 用ハックです。アプリケーションの呼び出し方法によっては、条件付きで親のコンソール ウィンドウを継承できません。この場合、同じ実行ファイルを別のサブシステム設定にリンクする必要があります。
$ bUseUnityBuild (Boolean): コンパイルを高速化するために、C++ コードを大きなファイルに統合するかどうかを指定します。
$ bAdaptiveUnityDisablesPCHForProject (Boolean): unity ではない適応する作業セットに含まれるプロジェクト ソース ファイルの強制インクルード PCH を無効にするかどうかを指定します。デフォルトは bAdaptiveUnityDisablesPCH です。
$ DefaultWarningLevel (WarningLevel): 未分類の警告に対するデフォルトの処理。
$ DeprecationWarningLevel (WarningLevel): 非推奨の警告をエラーとして報告するレベル。
$ bRetainFramePointers (Boolean): フレーム ポインタが維持されるように強制します。これは通常は、信頼できるコールスタック (mallocframeprofiler など) が望まれる場合に必要です。
$ bDeterministic (Boolean): 決定論的コンパイルおよびリンクに必要とされるフラグを設定します。msvc の決定論的モードを有効にすると codegen マルチスレッドが無効になるため、コンパイルの速度が低下します。
$ bLegacyPublicIncludePaths (Boolean): すべてのパブリック フォルダがコンパイル環境のインクルード パスとして追加されます。
$ bLegacyParentIncludePaths (Boolean): すべての親フォルダがコンパイル環境のインクルード パスとして追加されます。
$ CppStandardEngine (CppStandardVersion): このターゲットのコンパイルに使用する C++ 規格を指定します (エンジン モジュールの場合)。
$ CppStandard (CppStandardVersion): このターゲットのコンパイルに使用する C++ 規格を指定します (非エンジン モジュールの場合)。
$ LinkType (TargetLinkType): このターゲットに含まれているモジュールをリンクする方法を指定します (モノリシックまたはモジュール式)。現在、この設定は後方互換性を確保するために保持されています。非推奨の ShouldCompileMonolithic
オーバーライドのサポートが取り除かれるまでは、GetLinkType
アクセサーを呼び出してください。
$ LaunchModuleName (String): 起動モジュールの名前を指定します。モジュール式のビルドの場合は、このモジュールがコンパイルされてターゲットの実行可能ファイルに入ります。
$ BuildEnvironment (TargetBuildEnvironment): このターゲットのビルド環境を指定します。使用可能なオプションの詳細については、TargetBuildEnvironment を参照してください。