Open8

Unreal Engine 5.3 C++ Development

suneo3476suneo3476

https://dev.epicgames.com/community/learning/tutorials/dp77/unreal-engine-import-customization-with-interchange
サンプルプロジェクトでプロジェクトファイル生成時にエラー。

Target.cs(11,47): error CS0117: 'BuildSettingsVersion' does not contain a definition for 'V5'

https://forums.unrealengine.com/t/crazy-crash-happening-in-5-3-logrhi-error-breadcrumbs-rhithread/1926407/19
Source > InterchangeDemo.Target.cs, InterchangeDemoEditor.Target.cs の両方で以下に修正して解決。

  // DefaultBuildSettings = BuildSettingsVersion.V5;
  IncludeOrderVersion = EngineIncludeOrderVersion.Unreal5_3;
suneo3476suneo3476

https://forums.unrealengine.com/t/error-compiling-the-automation-tool-after-updating-visual-studio-today-unreal-5-3-2/1393088/1
UE5.3.2のプロジェクトをVisual Studio 2022 でビルドする際に起こったエラーについてのスレッド。
ここで提案されている解決方法と有効性についてまとめる。

解決方法 説明 効果・フィードバック
ソースコードの修正 2つのファイルを修正:
1. BgScriptReader.cs (line 1640)にnullチェックを追加
2. CheckForHacks.cs (line 87)のログメッセージフォーマットを修正
多くのユーザーが成功を報告。最も言及された解決策
Visual Studioの古いバージョンへのロールバック VS 2022の17.8以前のバージョンに戻す 部分的に効果あり。ただし一部のユーザーはロールバックできるバージョンが限られていると報告
UE 5.3.2の再インストール エンジンを完全に再インストール 複数のユーザーが成功を報告
Androidコンポーネントの削除 UEインストーラーからAndroidプラットフォームサポートを削除 いくつかの成功報告あり。完全な再インストールより簡単な解決策として推奨
エンジンファイルの検証 UEランチャーからエンジンファイルを検証 部分的な解決策として報告あり
Build Solutionの代わりにプロジェクトのビルドを使用 Visual StudioでBuild > Build [ProjectName]を選択 一部のユーザーで有効

ポイント:

  • 最も確実な解決策はソースコードの修正だが、チームで作業する場合は全員が修正する必要がある
  • この問題はVS 2022の17.8アップデート以降で発生
  • UE 5.4プレビューではこの問題が修正されている報告あり
  • Epicからの公式な対応や声明は現時点でない
suneo3476suneo3476

UE5.3.2 を Epic Launcher でアンインストール・インストールした。
その後プロジェクトをビルドすると次のエラーに気づいた。

PackageDependencyResolution.targets(266,5): error NETSDK1004: Assets file '...\Engine\Source\Programs\Shared\EpicGames.Horde\obj\project.assets.json' not found. Run a NuGet package restore to generate this file.

プロジェクトフォルダで dotnet restore を実行したら解消されたがビルドエラーは消えず。

suneo3476suneo3476

思い切って Visual Studio 2022 を 17.9 → 17.12 にアップデートしたが、nuget の脆弱性エラーが警告が大量に出てきた。

suneo3476suneo3476

UE5.vcxproj : warning : Platform 'Win64' referenced in the project file 'UE5' cannot be found.

suneo3476suneo3476

ushell という CLI ツールを使って .build editor を実行したら4桁のビルドステップが現れた。UE5 のビルドは VS2022 で失敗しまくっていたので、できればやりたくはなかったのだが、ushell で試しにやってみたところ一発でビルド成功した。
https://forums.unrealengine.com/t/unreal-engine-commandline-interface-ushell/1993246
https://dev.epicgames.com/documentation/en-us/unreal-engine/how-to-use-ushell-for-unreal-engine

今度は .build game win64を実行中。こちらはプロジェクト側のソースをビルドしていると信じたい。