C++からCommandletを実行する方法
使用バージョン:UE4.24.3
目的
何かしらのバッチ処理や自作ツールからCommandlet
を実行したい場合があります。
コマンドライン引数-run=[Commandlet名]
で実行することができますが、複数のCommandlet
を実行したい場合は実行する度にエディタの起動と終了が実行されてしまうため、時間がかかってしまうことがあります。
そういった場合は複数のCommandlet
を実行する処理を用意することになるかと思います。
コード
#include "Commandlets/Commandlet.h" void ExecuteCommandlet(const FString& CommaneletName, const FString& Params) { UClass* CommandletClass = FindObject<UClass>(ANY_PACKAGE, *CommaneletName, false); check(::IsValid(CommandletClass)); UCommandlet* Commandlet = NewObject<UCommandlet>(GetTransientPackage(), CommandletClass); check(::IsValid(Commandlet)); Commandlet->Main(Params); }