UE4 C++ でリファレンスからアセットをロードする方法

バージョン: UE4.26.1, Windows 10

結論

UEditorAssetLibrary::LoadAsset(AssetReference) でロードできます。
参考: UEditorAssetLibrary::LoadAsset | Unreal Engine Documentation

手順

モジュールを追加する

以下のようにモジュールを追加してください。
モジュールを追加した後は、エクスプローラーで ProjectName.uproject を右クリックして [Generate Visual Studio project files] でソリューションを再生成する必要があります。

// ProjectName.Build.cs

// "EditorScriptingUtilities" モジュールを追加する
PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "EditorScriptingUtilities" });

ヘッダーを追加する

*.h でも *.cpp でもいい気がします。
わたしは *.h に全部入れることにしています。
ClassName.generated.h がいちばん最後のヘッダーファイルになるようには気を付けましょう。

// ClassName.h

#include "EditorAssetLibrary.h"

アセットをロードする

今回はスケルタルメッシュですが、任意の型を入れられると思います。
ちなみにリファレンスは、UE4 を立ち上げる → アセットを右クリック → [リファレンスをコピー] で取得できます。

// MyClass.cpp

FString AssetPath = FString(TEXT("SkeletalMesh'/Game/Mannequin/Character/Mesh/SK_Mannequin.SK_Mannequin'"));
USkeletalMesh *SkeletalMesh = static_cast<USkeletalMesh*>(UEditorAssetLibrary::LoadAsset(AssetPath));

// 確認
UE_LOG(LogTemp, Log, TEXT("%s"), *(SkeletalMesh->GetName()));