エンジンバージョン
Unreal Engine 5.1.1
Unreal Engine 5.2.0
(UE4.27.2では発生せず)
全てVRテンプレートにて確認
はじめに
タイトルがすべてです。
DefaultGame.iniでForDistribution=Falseに変更、もしくはForDistributionの記述自体を削除すると、UEエディタからDevelopmentでパッケージングできるようになりました。
エディタからだと、プロジェクト設定>パッケージ化>プロジェクト>配布用のチェックを外します。
(設定値の名称を考えれば当たり前といえば当たり前ではあるのかなといった印象ですが、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をしたままではアプリの起動直後からデバッガをアタッチすることはできませんでした。
もし解決方法をご存じの方がいらっしゃれば、教えてください。
(現状この問題で困っているわけではないので、追加調査はせずに記録だけ残しておきます。)