ExecuteConsoleCommandと同等の機能をC++で実装したい

ひとつひとつお答えしていきますね。

①BlueprintFunctionLibrary等GetWorldを使用しない場合のWorld情報の取得方法

// Header定義
UFUNCTION(BlueprintCallable, Category="Example",meta=(WorldContext="WorldContextObject"))
static void ExampleFunction(UObject* WorldContextObject);
        
// cpp定義
void UExampleFunctionLibrary::ExampleFunction(UObject* WorldContextObject)
{
    // DoAnything.
}

上記のようにmeta指定子を使ってWorldContextというものを使います。

引数のWorldContextObjectには呼び出し側がUObjectを継承していれば、thisを渡してやればいいです。

呼び出し例(UObjectを継承したクラス)

UExampleFunctionLibrary::ExampleFunction(this);

②ExecuteConsoleCmmandの定義

下記に定義が書かれています

Engine\Source\Runtime\Engine\Classes\Kismet\KismetSystemLibrary.h

Engine\Source\Runtime\Engine\PrivateKismetSystemLibrary.cpp



③ExecuteConsoleCommandのC++側での呼び出し

例としてstat fpsの呼び出しを行っています。

#include "Kismet/KismetSystemLibrary.h"
UKismetSystemLibrary::ExecuteConsoleCommand(this, "stat fps");

第3引数はPlayerControllerが必要ですが、指定しない場合はExecuteConsoleCommand側で取得して呼び出します。

もし自前のPlayerControllerを使用している場合はそちらを第3引数に渡してください。