はじめに
UE5.5.0でC++を使って関数を作り実行できるまで、かなり苦戦したので自分用に記録。一部うろ覚え。
環境
Windows10
Visual Studio2022
Unreal Engine5.5.0
発生したエラー
UEのメニューバー>新規C++クラスでブループリント関数ライブラリ『MyBlueprintFunctionLibrary.h』(クラスタイプはPublic)を作成した後、ソリューションをビルドしコードを記述してコンパイルを実行すると以下の2つのエラーが生じた。
- エラー1:Nugetパッケージの復元コマンドで、ファイル(名前は忘れた)へのアクセスに失敗
- エラー2:エラーコードMSB3073:出力
"C:\【UEの保存先】\Engine\Build\BatchFiles\Build.bat MyCityBuilderEditor Win64 Development -Project="C:\【プロジェクトの保存先/プロジェクト名】.uproject" -WaitMutex -FromMsBuild -architecture=x64 -WorkingDir=C:\【プロジェクトの保存先】\Intermediate\ProjectFiles -Files=..\..\Source\【プロジェクト名】\Public\MyBlueprintFunctionLibrary.h" はコード 8 で終了しました
それぞれについていくつかの方法で解決しようと試みたので、その詳細を以下に記録。
試したが駄目だったこと
VisualStudioインストール時のオプションは以下のページを参考にした。
https://dev.epicgames.com/documentation/ja-jp/unreal-engine/setting-up-visual-studio-development-environment-for-cplusplus-projects-in-unreal-engine
以下のページで紹介されている設定を変更したり、ストレージをクリアしたりした。
https://learn.microsoft.com/ja-jp/nuget/consume-packages/package-restore-troubleshooting
最終的に成功した方法
エクスプローラーでプロジェクトとエンジンの保存フォルダのプロパティを開き、「全般」タブ下部の読み取り専用のチェックを外したところ、エラーが解消された。
コードを書き終わったら、メニューバーの「デバッグ」>「デバッグなしで開始」(ショートカット:Ctrl+F5)
以下のページを参考にデバッグなしでコードを実行したところ、ビルドが成功しUEが立ち上がった。
https://stackoverflow.com/questions/75816783/build-bat-error-code-6-in-the-unreal-engine-5
結果
C++で作成した関数をブループリントから呼び出せる!!!