プラグインのパッケージ化について

製作中のプラグインをソースコード無しで配布するため、プラグインのパッケージ化を試みました。

しかし、UEエンジン側のソースコード内でエラーが発生し、うまくパッケージ化できません。

こちらのエラーの原因と対応をご教授お願い致します。

環境:

Windows 10

Unreal Engine 5.3.2

Visual Studio 2022 (17.14.4)

エラーの抜粋

C:\Program Files\Epic Games\UE_5.3\Engine\Source\Runtime\Engine\Classes\Engine\Scene.h(2299): error C2039: 'GetObjectW': 'TScriptInterface<IBlendableInterface>' のメンバーではありません C:\Program Files\Epic Games\UE_5.3\Engine\Source\Runtime\Engine\Classes\Engine\Scene.h(2296): note: 'TScriptInterface<IBlendableInterface>' の宣言を確認してください C:\Program Files\Epic Games\UE_5.3\Engine\Source\Runtime\Engine\Classes\Engine\Scene.h(2319): error C2039: 'GetObjectW': 'TScriptInterface<IBlendableInterface>' のメンバーではありません C:\Program Files\Epic Games\UE_5.3\Engine\Source\Runtime\Engine\Classes\Engine\Scene.h(2296): note: 'TScriptInterface<IBlendableInterface>' の宣言を確認してください C:\Program Files\Epic Games\UE_5.3\Engine\Source\Runtime\RHI\Public\RHITransition.h(431): error C2039: '_InterlockedAnd': 'FWindowsPlatformAtomics' のメンバーではありません C:\Program Files\Epic Games\UE_5.3\Engine\Source\Runtime\Core\Public\Windows\WindowsPlatformAtomics.h(13): note: 'FWindowsPlatformAtomics' の宣言を確認してください C:\Program Files\Epic Games\UE_5.3\Engine\Source\Runtime\RHI\Public\RHITransition.h(431): error C2665: '_InterlockedAnd': オーバーロードされた関数ですべての引数の型を変換できませんでし た C:\Program Files (x86)\Windows Kits\10\include\10.0.26100.0\um\winbase.h(10052): note: 'unsigned __int64 _InterlockedAnd(volatile unsigned __int64 *,unsigned __int64)' の可能性がありま す C:\Program Files\Epic Games\UE_5.3\Engine\Source\Runtime\RHI\Public\RHITransition.h(431): note: 'unsigned __int64 _InterlockedAnd(volatile unsigned __int64 *,unsigned __int64)': 引数 1 を 'int8 *' から 'volatile unsigned __int64 *' へ変換できません。 C:\Program Files\Epic Games\UE_5.3\Engine\Source\Runtime\RHI\Public\RHITransition.h(431): note: 指示された型は関連がありません。変換には reinterpret_cast、C スタイル キャストまたはかっ こで囲まれた関数スタイル キャストが必要です。 C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.36.32532\INCLUDE\intrin0.inl.h(132): note: または 'long _InterlockedAnd(volatile long *,long)' C:\Program Files\Epic Games\UE_5.3\Engine\Source\Runtime\RHI\Public\RHITransition.h(431): note: 'long _InterlockedAnd(volatile long *,long)': 引数 1 を 'int8 *' から 'volatile long *' へ変換できません。 C:\Program Files\Epic Games\UE_5.3\Engine\Source\Runtime\RHI\Public\RHITransition.h(431): note: 指示された型は関連がありません。変換には reinterpret_cast、C スタイル キャストまたはかっ こで囲まれた関数スタイル キャストが必要です。 C:\Program Files\Epic Games\UE_5.3\Engine\Source\Runtime\RHI\Public\RHITransition.h(431): note: 引数リスト '(int8 *, int)' を一致させようとしているとき C:\Program Files\Epic Games\UE_5.3\Engine\Source\Runtime\RHI\Public\RHITransition.h(445): error C2039: '_InterlockedAnd': 'FWindowsPlatformAtomics' のメンバーではありません C:\Program Files\Epic Games\UE_5.3\Engine\Source\Runtime\Core\Public\Windows\WindowsPlatformAtomics.h(13): note: 'FWindowsPlatformAtomics' の宣言を確認してください C:\Program Files\Epic Games\UE_5.3\Engine\Source\Runtime\RHI\Public\RHITransition.h(445): error C2665: '_InterlockedAnd': オーバーロードされた関数ですべての引数の型を変換できませんでし た C:\Program Files (x86)\Windows Kits\10\include\10.0.26100.0\um\winbase.h(10052): note: 'unsigned __int64 _InterlockedAnd(volatile unsigned __int64 *,unsigned __int64)' の可能性がありま す C:\Program Files\Epic Games\UE_5.3\Engine\Source\Runtime\RHI\Public\RHITransition.h(445): note: 'unsigned __int64 _InterlockedAnd(volatile unsigned __int64 *,unsigned __int64)': 引数 1 を 'int8 *' から 'volatile unsigned __int64 *' へ変換できません。 C:\Program Files\Epic Games\UE_5.3\Engine\Source\Runtime\RHI\Public\RHITransition.h(445): note: 指示された型は関連がありません。変換には reinterpret_cast、C スタイル キャストまたはかっ こで囲まれた関数スタイル キャストが必要です。 C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.36.32532\INCLUDE\intrin0.inl.h(132): note: または 'long _InterlockedAnd(volatile long *,long)' C:\Program Files\Epic Games\UE_5.3\Engine\Source\Runtime\RHI\Public\RHITransition.h(445): note: 'long _InterlockedAnd(volatile long *,long)': 引数 1 を 'int8 *' から 'volatile long *' へ変換できません。 C:\Program Files\Epic Games\UE_5.3\Engine\Source\Runtime\RHI\Public\RHITransition.h(445): note: 指示された型は関連がありません。変換には reinterpret_cast、C スタイル キャストまたはかっ こで囲まれた関数スタイル キャストが必要です。 C:\Program Files\Epic Games\UE_5.3\Engine\Source\Runtime\RHI\Public\RHITransition.h(445): note: 引数リスト '(int8 *, int)' を一致させようとしているとき Total time in Parallel executor: 8.08 seconds Total execution time: 10.54 seconds Took 10.72s to run dotnet.exe, ExitCode=6 UnrealBuildTool failed. See log for more details. (C:\Users\0048006010\AppData\Roaming\Unreal Engine\AutomationTool\Logs\C+Program+Files+Epic+Games+UE_5.3\UBT-UnrealGame-Win64-Development.txt) AutomationTool executed for 0h 0m 57s AutomationTool exiting with ExitCode=6 (6) BUILD FAILED

Hello!

I do not read Japanese but I think that the compilation errors are caused by using the wrong version of the Windows SDK and MSVC toolchain.

I recommend installing the official ones that were used to release version 5.3.2. You can find them in the ‘Individual Components’ section of the Visual Studio Installer.

  • Windows SDK 10.0.18362.0
  • Toolchain: x64\x86 buildtools 14.36

I will transfer the case to my colleague from Japan.

Regards,

Martin

サポートご担当者様

いただいた情報のバージョンに置き換えてパッケージ化を試みました。

簡単なプラグインを制作して実行してみたところパッケージ化できました。

しかし、実際に使用したいプラグインでは、まだパッケージ化できておりません。

いくつか不明な不具合が発生するため質問させてください。

パッケージ化したいプラグインの概要

EUWから受け取ったパラメータをTickなどのリアルタイム処理に使用します。

現在EditorモジュールとRuntimeモジュールは分けられていない状態です。

背景

パッケージを実行すると、以下のようなエラーが出ます。

“Unable to instantiate module “UnrealEd” Unable to instantiate UnrealEd module for non-editor targets”

■以下のような手順でプラグインを編集しているが、ビルドエラーが出る。

RuntimeタイプのプラグインのBuild.csファイルに以下のキャプチャのようにif(Target.bBuildEditor)を記載後

.uprojectからGenerate Visual Studio codeを実行

Visual Studio(Debug Game Editorモード)でローカルWindows デバッガーから実行

ビルドError:ほぼすべての.cppファイルで.hファイルが読み込めないが発生

ただし、なぜか、Visual Studio(Debug Game Editorモード)でリビルドを実行した場合はビルドが通る。

[Image Removed]ご確認したいこと

・なぜローカルWindows デバッガーではビルドが通らないのか

・なぜリビルド実行時はビルドが通るのか

よろしくお願いします

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

Editorからにしても、VSからにしても、RunUATのコマンドが異なることがないと思いますので、​おそらくファイルのアクセス権利の問題か、Temp/キャッシュファイルの整理たど思います。

Saved,Intermediate,Cachedを削除してからクリーンビルドしてみていただけませんか?

お手数ですが、よろしくお願いします。​

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

トラッキングのためこちらの件を一旦クローズさせていただきます。

追加情報があったら、いつでも気軽に再オープンしたいただけたらと思います。

お手数ですが、よろしくお願いします。

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

ご連絡遅くなり申し訳ございません。

こちらご教授頂いたおかげで、解決いたしました。

そのため再オープンなしでそのままクローズにさせて頂きます。

よろしくお願いいたします