[UE] C++ FInstancedStructに格納されている構造体の型名を取得したい

FInstancedStructを使っていると、
中に格納されている構造体の型名を取得したい時がありますよね?
そりゃありましょうよもう。

#include "StructUtils/InstancedStruct.h"

FString UInstancedStructFuncLib::GetStructTypeName
(const FInstancedStruct InInstancesStruct)
{
	if (!InInstancesStruct.IsValid())
	{
		return "";
	}

	const UScriptStruct* ScriptStruct = InInstancesStruct.GetScriptStruct();

	if (ScriptStruct == nullptr)
	{
		return "";
	}

	return ScriptStruct->GetName();
}

こんな感じでUScriptStruct経由で取得できます。


早速試してみましょう。
Vector」という文字がログ出力されるはずです。


うまくいってますな!

参考文献