UnrealEngineのソリューション構成にC#プロジェクトの表示を増やす方法
UnrealHeaderTool周りのコードを書くときに使ったので備忘録
対応方法
この記事は主に、配布版(InstalledBuild)向けの内容になります。
一応、公式ドキュメントに表示を増やす方法が記述されています。
ProjectFileGeneratorの項目がプロジェクトを生成する時のオプションになります。
この記述に従って、BuildConfiguration.xmlを記述すれば生成されると思いましたが…
UE_5.1\Engine\Source\Programs\UnrealBuildTool\ProjectFiles\ProjectFileGenerator.cs:1293行目
生成時のコマンドライン引数によって、BuildConfiguration.xml で記述した内容が上書きされてしまいます。
逆に言うと、生成時のオプションによってソリューション構成を変える事が出来ます。
Running C:/Program Files/Epic Games/UE_5.1/Engine/Build/BatchFiles/Build.bat -projectfiles -project="プロジェクトディレクトリ/プロジェクト名.uproject" -game -rocket -progress -log="XXXX/Logs/UnrealVersionSelector-2023.01.14-23.19.45.log"
↑は右クリック時のコンテキストメニューの際のログです。
引数に"-game"が含まれている為C#関連のコードは生成されなくなります。
但し、配布ビルド(InstalledBuild)の場合には、強制的に、BuildConfiguration.xmlのパラメーターを上書きされているケースもあるので注意してください。
結論!
つまり、自分の表示したいソリューションの範囲を広げたい場合には専用のbatファイルを用意するなどの対応が必要になります。
UE5.1時点での対応している引数一覧
BuildConfiguration.xmlのパラメーターを記述していない場合+"-ALLPLATFORMS"の場合
プロジェクトファイル生成時に下記のパラメーターを指定出来ます。
コチラと、BuildConfiguration.xmlのパラメーターを組み合わせてソリューションを作れるようです
"-ALLPLATFORMS":
"-CURRENTPLATFORM":
"-THIRDPARTY":
"-NOPROGRAMS":
"-GAME":
"-ENGINE":
"-NOCPP":
"-NOINTELLISENSE":
"-INTELLISENSE":
"-SHIPPINGCONFIGS":
"-NOSHIPPINGCONFIGS":
"-DEBUGCONFIGS":
"-NODEBUGCONFIGS":
"-DEVELOPMENTCONFIGS":
"-NODEVELOPMENTCONFIGS":
"-DOTNET":
"-NODOTNET":
"-ALLLANGUAGES":
"-USEPRECOMPILED":
"-INCLUDETEMPTARGETS":