【UE4C++】ビルドは成功したがfailed to open descriptor file と書かれているダイアログが出たときの対処法

パッケージングではなくて、ビルドしてエンジンを起動するときにエラーが出たときの対処法です。

環境

  • Windows10
  • Visual Studio 2017
  • UE4エディタはランチャー版のUE4.24

手順

  • Intermediateフォルダを消去
  • .uprojectファイルを右クリックしてGenerate Visual Studio project files
  • Visual Studioのソリューションエクスプローラーでプロジェクトを右クリックして、Set as StartUp Project
  • もう一回ビルドしてみる

【UE4C++】UMG関係のプラグインを作ろうとしてリンクエラーが出る場合

こんにちは!タカオです。
今回はタイトルの通り、UMG用のプラグインをC++で作ろうとした場合にリンクエラーが大量に出てきたときの対処法です。

開発環境は
Windows10
Visual Studio 2017
UE4エディタはランチャー版でUE4.23
です。

続きを読む 【UE4C++】UMG関係のプラグインを作ろうとしてリンクエラーが出る場合

【UE4】アセットのセーブができない?

こんにちは、なんかアセットのセーブができなかったので対処方の紹介です。

環境:
Windows10
UE4.20.3

アウトプットログにはこんなエラーメッセージが出ていました。

Cmd: OBJ SAVEPACKAGE PACKAGE="アセットのパス" FILE="アセットのパス.uasset" SILENT=true
LogSavePackage: Moving 'アセットのパス.uasset+英数字.tmp' to 'アセットのパス'
LogFileManager: Warning: DeleteFile was unable to delete 'アセットのパス.uasset', retrying in .5s...
LogFileManager: Error: Error deleting file 'アセットのパス.uasset'.
LogSavePackage: Error: Error saving 'アセットのパス.uasset'
LogSlate: Window 'Message' being destroyed
EditorErrors: New page: Save Output
EditorErrors: Warning: Error saving 'アセットのパス.uasset'

続きを読む 【UE4】アセットのセーブができない?

【UE4.18】リリース用にAndroidのAPKを作ろうとしたら警告が出てパッケージ化できなかった

Project SettingsのPackagingでFor Distributionというところをチェックすると、リリース用にAPKを作れるようになるのですが、

Warning: com.google.protobuf.zze: can’t find referenced class sun.misc.Unsafe
You may need to add missing library jars or update their versions.
とか言ってパッケージ化できませんでした。

そんなときは、
Program Files (x86)\Epic Games\UE_4.18\Engine\Build\Android\Java にある
proguard-project.txtに

-dontwarn
-dontnote

-dontwarn com.google.protobuf.zze
-dontwarn com.google.protobuf.zze$zza
-dontwarn com.google.protobuf.zze$zzb
-dontwarn com.google.protobuf.zze$zzc
-dontwarn com.google.protobuf.zze$zzd
-dontwarn com.google.protobuf.zzf
を追記するとパッケージ化できるようになります。
このやりかたが正しいのかは知らない。

【UE4.18】Enable Gradle instead of Ant をtrueにしていると、Androidのパッケージ化ができない

Project Settingsの
Platforms Androidに「Enable Gradle instead of Ant」という設定項目があります。
これにチェックを付けていると、よくわかりませんがパッケージ化が失敗します。
チェックを外せばパッケージ化できますが、これで解決とは言えない。

追記(2018/07/03):
UE4.19.2ではパッケージ化できました。
Universal Mobile Ads Pluginを使っている場合は、「Enable Gradle instead of Ant」という設定項目をチェックしないとパッケージ化できないようです。

【UE4.16.1】ChildActorTemplate == nullptrというエラーでパッケージ化できないとき

UE4.15からUE4.16に移行したプロジェクトでのバグです。

そのChildActorをいじって直そうとしても多分直らない。
まず、エラーログに出てきたChildActorを使っているアクターの処理を書き換えて(例えばノードを切り離したり変数を追加するとか)、
また戻してからコンパイルボタンを押すとエラーが直っているかもしれない。

【UE4】C++を使っているプロジェクトをUE4.13から4.15に変更したらエラーが出てしまった

環境は
Windows10
UE4.15.0
です。

Win32APIを使っているプラグインをビルドしたら
出力にundeclared identifierとかidentifier not foundとかが出てビルドできませんでしたが、
エラーを吐いているファイルに
#include “WindowsHWrapper.h”
を追加すれば直りました。

OpenCVプラグインを使ってパッケージ化すると、exeファイルを実行したときにクラッシュする

環境は、
Windows10
UE4.13.2
です。

OpenCVプラグインとはこれのことです。
https://wiki.unrealengine.com/Integrating_OpenCV_Into_Unreal_Engine_4#Linking_OpenCV_in_Visual_Studios
これを使ってビルドすると、出来上がったファイルを実行したときにクラッシュしてしまいました。

続きを読む OpenCVプラグインを使ってパッケージ化すると、exeファイルを実行したときにクラッシュする

UE4のパッケージ化できないときの対処

Windows8.1
UE4のバージョンは4.10.0
です。

アウトプットログに
RunUAT.bat ERROR: AutomationTool was unable to run successfully.
と出て、エラーの内容がテクスチャが見つからないとか書いてある時
プロジェクトのフォルダすぐ下のSavedフォルダを消してみる。

コンテンツブラウザでアセットを移行させるとなるんだと思います。
それか、プロジェクトのバージョンを上げたか。

—2016/9/17追加—
Windows10
UE4のバージョンは4.12.5

ProjectSettings のInputで登録されていないイベントが、どこかのブループリントで呼ばている

—2016/11/22追加—
Windows10
UE4のバージョンは4.14.0

めったに無いと思うけど、親の関数を使うノードなのに、自分の関数を使ってしまうというもの。
親の関数を使うノードをダブルクリックするとわかる(正常なら親のBPが開かれる)。
ログには、This blueprint (self) is not a TRASHCLASS~と出るだけなので探すのが大変だった。

—2018/1/27追加—
Windows10
UE4のバージョンは4.18.0
OutputLogでエラーを吐いているブループリントをもう一回コンパイルしてみる。
さらに、そのブループリントに付いているインターフェイスもコンパイルしてみる。

Shippingでパッケージ化すると Failed to open descriptor file と出て実行できない。

実行環境は
UE4.9.1
Windows8.1
です。

今のところの対処法は、

  • WindowsNoEditor/プロジェクト/Binaries/Win32/プロジェクト名-Win32-Shipping.exe
    を “プロジェクト名.exe”にして、プロジェクト名.exeを実行する。

  • Substanceプラグインを無効にする

良い方法が見つからない。