クック時の挙動を確かめたい時、Editorからパッケージ化している場合は違うプロセスで立ち上がってしまい処理が追いづらいのでCommandletからクック処理を起動することでブレークを張りながらデバッグができます。
クック処理用のCommandlet
以下のような引数をUE4Editor.exeに渡すことで単体のクック処理を実行できます。
UE4Editor.exe [対象の.uproject] -run=cook -targetplatform=[対象のプラットフォーム] -map=[対象のマップ]
UE4Editor.exe D:\projects\TestProject\TestProject.uproject -run=cook -targetplatform=Windows -map=/Game/NewMap
targetplatformに各種プラットフォームを入れることができるので特定のプラットフォームの挙動を追うことが可能です。また、UnrealVSを入れている場合はuproject以降の引数をStartup Projectの引数入れることでデバッグ付き実行が可能です。
ブレークを貼る場所
ブレークを貼るのはCookCommandletのMainあたりからなど。
.\Engine\Source\Editor\UnrealEd\Private\Commandlets\CookCommandlet.cpp
/* UCommandlet interface
*****************************************************************************/
int32 UCookCommandlet::Main(const FString& CmdLineParams)
{
COOK_STAT(double CookStartTime = FPlatformTime::Seconds());
Params = CmdLineParams;
ParseCommandLine(*Params, Tokens, Switches);
参考リンク
-
UnrealVS 拡張 | Unreal Engine
http://api.unrealengine.com/JPN/Programming/Development/VisualStudioSetup/UnrealVS/ -
コンテンツのクック処理
http://api.unrealengine.com/JPN/Engine/Deployment/Cooking/ -
How to step through cooking process on debug Mode? - UE4 AnswerHub
https://answers.unrealengine.com/questions/444744/how-to-step-through-cooking-process-on-debug-mode.html
過去のバージョンではAnswerHubで紹介されているNewCook関数にてブレークが可能