2
2

More than 1 year has passed since last update.

UE5.1/5.2でForDistribution=TrueだとDevelopmentを指定してもShippingでパッケージされる

Last updated at Posted at 2023-06-19

エンジンバージョン

Unreal Engine 5.1.1
Unreal Engine 5.2.0
(UE4.27.2では発生せず)

全てVRテンプレートにて確認

はじめに

タイトルがすべてです。

DefaultGame.iniでForDistribution=Falseに変更、もしくはForDistributionの記述自体を削除すると、UEエディタからDevelopmentでパッケージングできるようになりました。

エディタからだと、プロジェクト設定>パッケージ化>プロジェクト>配布用のチェックを外します。
image.png

(設定値の名称を考えれば当たり前といえば当たり前ではあるのかなといった印象ですが、UE4.27と挙動が違うのでハマりました。。)

以上

下記は暇な人向けのおまけです。

おまけ

ForDistribution=True のままでDevelopmentでパッケージングする回避策

下記ドキュメントの「コマンドライン」の章のように、CLIでのパッケージングであればForDistribution=True のままでもDevelopmentでパッケージングできました。

ただし、この方法ではデバッグ用のpdbファイルが生成されないみたいです。(要検証)
23.6.19追記:エディターからパッケージングしても内部的にはコマンドが実行されているらしいので、私がオプションの値を間違えたせいでpdbファイルが生成されなかったものと思われます。(要検証)

これまではこちらの方法でDevelopmentパッケージングしてお茶を濁していましたが、クラッシュ時のスタックトレースがうまくいかなかったので重い腰を上げて調査しました。。

Oculusアプリが起動していると、パッケージアプリへのVSデバッガのアタッチがうまくいかない

(わざわざ別記事を作るほどではないと思ったので、ついでにここに記録しておきます。。)

環境
Windows11
Visual Studio2022
Meta Quest2のPC Link
UE5.2.0のVRテンプレート

上記方法にて、UE5.2.0でDevelopmentパッケージングしたアプリのpdbファイルが生成できたので、こちらの記事のように-WaitForDebuggerを起動時引数で渡してVisual Studioでプロセスアタッチしました。

しかしアタッチ後もアプリケーションのウィンドウは開かれませんでした。
この状態でPC Linkに使用しているOculusアプリのウィンドウを閉じると、アプリケーションのウィンドウが開きました。

また、初めからOculusアプリを起動していない状態(PC Linkをしていない状態)でプロセスアタッチすると、問題なくアプリケーションのウィンドウが開きました。

このように、私の環境ではPC Linkをしたままではアプリの起動直後からデバッガをアタッチすることはできませんでした。
もし解決方法をご存じの方がいらっしゃれば、教えてください。
(現状この問題で困っているわけではないので、追加調査はせずに記録だけ残しておきます。)

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2