UE4 パッケージ化時には処理されないデバッグ処理を実装する(Is Packaged for Distribution)
開発途中の状態では実行されてほしいデバッグ機能などがあると思います。
ここらへんどう実装するのかなというのを調べてました。
そうしたらこういう記事がありました。
・UE4で一本出してみて困ったこと (えーでるわいす なる)
http://edelweiss.skr.jp/column/1412_ue4/
えーでるわいすのなるさんの記事ですね。UE4初期の頃の記事ですが。
この中に上記のようなコメントがありました。・#ifdef DEBUG的なものがない
デバッグ用、開発用の機能を作る時につらい。
せめてパッケージングの Development, Shipping が判定できたりすると助かる。
>Shun Sasaki @s_ssk13:欲しい! デバッグ用の機能をまとめておく
CheatManager(そもそもBPに公開されてない?)というのがあるが、それだけじゃ足りない。
>Jun(Epic):今後の課題として検討させていただければと思います。
>alwei @aizen76:Is Packaged for Distributionノードで開発中かパッケージングされたものかの判定はできますね。
「Is Packaged for Distribution」というノードを使えばできるみたいですね。
ツイッターでもこういったリプライを頂いたのでいけそうですね。
「is packaged for Distribution」というノードでBool値がとれるので、それでデバッグ用のみに入力イベントを作ってみるのが良さそうですね
— Sig@TGS 9-A52 (@sleepyslowsheep) 2017年8月7日
公式ドキュメントはここですね。また英語しかない…。
・Is Packaged for Distribution
https://docs.unrealengine.com/latest/INT/BlueprintAPI/Development/IsPackagedforDistribution/index.html
「Returns whether this is a build that is packaged for distribution」とあるので
パッケージ化されている場合のみ true を返すノードのようですね。
というわけで使ってみるとこんな感じに。

「パッケージ化」というのがどういう状態なのかちょっと調べて見ないとですが
開発途中の処理はこれで判断しておくと良いかもですね。
ただ、これ全部に埋め込むとめんどくさそうなので、起動時にこれでチェックして作っておくのがよいのかな。
あとは、ノードの情報がマスターにも含まれそうなのがもやもやする感じですかねー。
| UE4 | 12:49 | comments:0 | trackbacks:0 | TOP↑