【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
  • もう一回ビルドしてみる

UE4のメモ(UnrealC++)

UnrealEngine4(のUnrealC++)で忘れそうなことをメモしておくページ。

開発環境は

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

BPと連携

ActorComponentを継承しているクラスをBPで継承させたい

ActorComponentを継承しているクラスをBPで継承させたい場合はUCLASSの部分にBlueprintableを付ける

UCLASS( ClassGroup=(Custom), Blueprintable, meta=(BlueprintSpawnableComponent))

変数(IntegerとかFloat)の範囲を指定したい

変数(IntegerとかFloat)の範囲を指定したいときは

UPROPERTY(EditAnywhere, BlueprintReadWrite, meta = (ClampMin = "1", ClampMax = "100"))

変数をエディタ上では見えるだけで、編集できないようにしたい場合

UPROPERTY(VisibleAnywhere, BlueprintReadOnly)
int 変数名;
って書くと、レベルエディタ上とかでは見えるけど編集できなくなる。

構造体

  • 構造体を作るときは#include “ヘッダーファイルの名前.generated.h”を追記しなければいけない
  • 構造体の変数で、Object ReferenceではなくてClass Reference(4つの内で紫のやつ)を使いたい場合は
  • UPROPERTY(EditAnywhere, BlueprintReadWrite)
    TSubclassOf 変数名;

    参考:https://answers.unrealengine.com/questions/259160/c-equivalent-of-blueprint-class-reference.html

    その他

    uprojectのバージョンを変えたら

    uprojectのバージョンを変えたら、Visual Studioのソリューションエクスプローラで、ソリューションを右クリックして「スタートアッププロジェクトに設定」をクリックしておく。
    参考:https://answers.unrealengine.com/questions/509141/unereal-editor-dont-start-cant-find-unusedue4exe.html?sort=oldest

    デバッグポイントをセットしたのに止まらない?

    ソリューション構成をDebugGame Editorに変更したら止まるようになった。(Visual Studio 2017)

    Visual Studioでソリューション構成をShippingにしたら、ビルドしてもエディタに反映されなくなった

    エディタでコンパイルボタン押したら反映された

    UE4のメモ

    UnrealEngine4で忘れそうなことをメモしておくページ。

    • Add Movement Inputを使うキャラクターをスポーンしたあとは
      Spawn Default Controllerを使わないと動かない。
      Spawn Default Controllerはポーンの関数。
    • スポーンしたキャラクターを AI Controllerで動かす場合はキャラクターのポーンの設定
      Auto Posses PlayerをSpawnedにする。
    • Spline Meshのメッシュの向きはSetForwardAxisで設定できる。
    • ライティングをビルドしたらオブジェクトにUVがオーバーラップしているとでるとき、
      そのスタティックメッシュを開き、LOD0のBuild SettingsのMin Lightmap Resolutionを128にして、スタティックメッシュの設定でLight Map Resolutionを0から1にしてみる
    • レベルの編集中で選択しているアクタを非表示にしたいときはHキーを押すとできる。非表示にしたアクタを表示したいときはCtrl+H
    • AddMovementInputでキャラクターを回転させながら移動させたいときはCharacterMovementの詳細でOrient Rotation to Movementを有効にする

    コリジョン

    • LineTraceByChannelはOverlapのコライダーでは反応しない?

    プラグイン

    • プラグインをパッケージ化してもThirdPartyフォルダは自動で作ってくれないLinking Dlls

    乱数

    • 箱型の中でランダムな位置を取りたいときは、Random Point in Bounding Boxというノードを使えばできる (バージョン4.19.2で確認)

    UMG

    Android

    Windows

    • ゲームのアイコンは、Gimpの場合 「32bpp、8bitアルファ、パレットなし」で書き出すと上手くいく
    • ゲームのアイコンが反映されなかったらパッケージング設定のプロジェクト項目でFull Rebuildにチェックしてみる