パッケージ化した時にUMGが読み込めない

C++でUMGを表示させようと考えているのですが、Unreal Engine上のエディタ内でのプレイでは表示されるのですがパッケージ化して起動しようとするとエラーが発生して起動できなくなるのですが、これはC++の記述のやり方がいけないのでしょうか?
よろしくお願いします。

・HUD内のコンストラクタ

static ConstructorHelpers::FObjectFinder<UBlueprint> WidgetObj(TEXT("WidgetBlueprint'/Game/UMG/UMGTest.UMGTest'"));
	if (WidgetObj.Object != NULL){
		UMGUIClass = (UClass*)WidgetObj.Object->GeneratedClass;
	}

・HUD内のBeginPlay

if (UMGUIClass) // Check the selected UI class is not NULL
	{
		if (!UMGWidget) // If the widget is not created and == NULL
		{
			UMGWidget = CreateWidget<UUMGTestWidget>(GetWorld(), UMGUIClass); // Create Widget
			if (!UMGWidget)
				return;
			UMGWidget->AddToViewport();
			UMGWidget->SetVisibility(ESlateVisibility::Visible);
		}
	}

一応プロジェクトファイルも置いておきます。

[プロジェクトファイル 2GBぐらいありますのでご注意ください][1]

・エディタ内

・パッケージ化したものを起動した時

32405-エラー.png
32406-

プロジェクトを落として実行しようとしてみましたが、Visual Studioからの実行ではビルドエラーがでました。

直接プロジェクトを立ち上げてからパッケージングを実行しようとしてもビルドエラーとなりパッケージングができなく症状が確認できないです。

もう一度確認をしてもらえるでしょうか?

既に実行していたらすみません。多分、自分の環境だとUE4のインストール場所がSドライブなのでパスが違うためビルドできないかもしれません。UE4のエディタ上で「ファイル」→「VisualStdioプロジェクトの更新」を押して頂いて更新していただければ「Intermediate\ProjectFiles」内のファイルが更新されコンパイルが通るかと思います。できない場合は、Saved→Logsのログファイルいただけないでしょうか?
一応、自分でも一度ダウンロードして試していますので多分動くと思います。

無事実行できました。確かにエラーで落とされるようです。

この件について調べてみたところ、以下の質問に対する回答がありました。

Accessing the blueprint at runtime is not allowed. Blueprints are an editor only time concept.

『ブループリントは実行時にアクセスを許可されていません。ブループリントはエディターオンリーでの時間的概念です。』

ここでいうブループリントはWidgetブループリントの事だと思いますが、結論としてC++側から実行時にWidgetブループリントにアクセスする事ができないという事だと思います。基本的にブループリントから使ってくださいという事が結論ではないかと。

何らかの方法で避ける事も出来るようですが、今はC++から使わないのが無難そうです。

ご回答していただきありがとうございます。なるほど、そもそもWidgetのブループリントを読み込むんで描画できない仕様なのですね。C++でUMGが利用できると色々と便利だと思ったんですけど残念です。今後のアップデートに期待したいと思います。