ソフト参照でロードしたObjectのCastが失敗する

お世話になっております。

ソフト参照でウィジェットをロードし、普通のウィジェットと同じくAdd to Viewport等で利用しようとしています。Async Load AssetからアウトプットされたObjectをCastしたいのですが、Castが失敗してしまい、Nullとなってしまいます。こちらの理由と解決策について、ご教授頂けますでしょうか?


結果01
結果02

Loadした結果取得されるのが Widget ではなく WidgetBlueprint であるからです

AsyncLoadAsset で返ってくるObjectは、Assetそのもの を指しています
Widgetとして初期化されたものではなく、その前段階のものなので、当然WidgetにCast出来ません

正しいやり方は、AsyncLoadAssetの終了後にきちんと CreateWidget することです
Actorなら SpawnActorFromClass でSpawnしてください

1 Like

ご回答いただき、ありがとうございます。

Widgetとして初期化されたものではなく、その前段階のものなので、当然WidgetにCast出来ません

なるほど、つまり画像のような形になるということでしょうか?

こちらの場合、ウィジェットやアクターに関しては作成方法がわかったのですが、データテーブルやデータアセットの場合、「create widget」や[spawn actor from class」に当たる部分はどのようにオブジェクトを作成したらよいでしょうか?

DataTableなどのAssetは最初のとおりAssetとしての型にCastすればよいです

なるほど、そのままで良いのですね。
理解できました!
ありがとうございます!