Commandletの実行でブレークポイントを使えないと動作確認が非常に面倒なので調べてみました。
環境
VS2017
UE4.24.3
ソース
一先ずソースは最小構成とします。
TestCommandlet.h
#pragma once
#include "CoreMinimal.h"
#include "Commandlets/Commandlet.h"
#include "TestCommandlet.generated.h"
UCLASS()
class UTestCommandlet : public UCommandlet
{
GENERATED_UCLASS_BODY()
public:
UTestCommandlet();
virtual int32 Main(const FString& CmdLineParams) override;
};
TestCommandlet.cpp
#include "TestCommandlet.h"
UTestCommandlet::UTestCommandlet(const FObjectInitializer& ObjectInitializer) : Super(ObjectInitializer)
{
LogToConsole = false;
}
int32 UTestCommandlet::Main(const FString& CmdLineParams)
{
return 0;
}
Commandlet用のプロジェクト構成を作成
コマンド引数をCommandletように変更する
ここでは以下とした
"$(SolutionDir)$(ProjectName).uproject" -run=TestCommandlet -stdout -UTF8Output