# パッケージ(Shipping)版なのにPrintString表示やコンソールコマンド受付などエディタ挙動をしてしまう問題

**URL:** <https://forums.unrealengine.com/t/shipping-printstring/837227>\
**Category:** 日本語 (Japanese)\
**Tags:** unreal-engine, bug-report, question\
**Created:** [April 1, 2023, 1:30pm UTC](https://forums.unrealengine.com/t/shipping-printstring/837227 "2023-04-01T13:30:09Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Yurien](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Yurien](https://forums.unrealengine.com/u/Yurien)\
**Post date:** [April 1, 2023, 1:30pm UTC](https://forums.unrealengine.com/t/shipping-printstring/837227/1 "2023-04-01T13:30:09Z")

</div>

パッケージ(Shipping)版なのにPrintString表示やコンソールコマンド受付などエディタ挙動をしてしまう問題

UE5.0.3、5.1.1で確認しています。（UE4では正常にShippingビルドの出力ができています）  
OS（Win11）の入れ直しでUEエディタも再インストールしたあと、  
今まで正常に出力できていたUE5プロジェクトのパッケージ版（Shipping）において、  
画面左上の開発者用PrintString表示やプレイ中に手打ちのコンソールコマンドを受け付けてしまうなど、  
エディタ挙動をする問題が発生しています。

VisualStudioインストーラーでSDKを古いバージョンに変えたりしましたが解決しませんでした。

プロジェクトのパッケージ化設定は特異なものではなく、平常のもの（こちらの記事の配布用）と考えて差し支えありません。  
[【UE5】パッケージ化のやり方 | メタタイムCG (metatimecg.com)](https://metatimecg.com/ue5-package/)

これは、処理の仕方がそもそも開発（Development）版のようなので、  
表面上PrintStringを消したり、コンソールコマンドを無効にすることで解決するものではありません。  
ログを見ると  
UATHelper: パッケージ化 (Windows): LogCsvProfiler: Display: Metadata set : config=“Development”  
とあるので（恐らく）ビルドの状態がShipping（配布）設定にも関わらずDevelopment（開発）に書き換えられてしまう問題と思われ、  
こちらの方の解決を望みます。

こちらの件についてご存じの方がいらっしゃいましたら、どうかよろしくお願いします。

追記：  
プロジェクトランチャーを使用する方法を発見しましたが、それに依らない解決法をお願いします。

---

<div class="post-metadata">

**Author:** ![Rwi](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/rwi/32/633299_2.png) [@Rwi](https://forums.unrealengine.com/u/Rwi)\
**Post date:** [April 3, 2023, 12:16pm UTC](https://forums.unrealengine.com/t/shipping-printstring/837227/2 "2023-04-03T12:16:59Z")

</div>

私も同様の問題が気になっていたので解決策を探してみました。  
私の場合、UE5.1.1上で、以下の設定で問題が解決しました。

* * *

PrintStringなど、Development Only 設定のノードがShipping設定のパッケージングでも動作してしまうのを防ぐには、

> Project Setting → Engine → Cooker → 「Compile Blueprints in Development Mode」 が デフォルトではONになっているので、OFFに変更する

ことで解決しました。

【参考】

> **[\[UE4\]BPノードのコンパイルオプション「デベロップメントオンリー」の挙動について - Qiita](https://qiita.com/com04/items/82ebe76b82aacce5d04f)**
>
> PrintStringや、右クリックからのコンパイルオプションでの「デベロップメントオンリー」なノードで除外した際のフローについて調べました。個別の検証を書いていますが、挙動の結果のみ必要な方は…

[https://shuntaendo.hatenablog.com/entry/2022/04/14/210000](https://shuntaendo.hatenablog.com/entry/2022/04/14/210000)

* * *

また、コンソールコマンドが使えてしまう問題については、  
こちらのツイートと記事を参考に、C++クラスを追加することで解決できました。

また同時に、ゲームの初回起動時に「このアプリの機能のいくつかがWindowsファイアウォールでブロックされています」というセキュリティ警告が表示されてしまう問題についても解決しました。

> <https://twitter.com/Unrealmarry/status/1642813985451044864>

> **[\[UE5\] C++ファイル（クラス）の追加・削除方法](https://colory-games.net/site/ue-add-cpp-file/#:~:text=%E3%81%A7%E8%BF%BD%E5%8A%A0%E3%83%BB%E5%89%8A%E9%99%A4-,%E6%96%B9%E6%B3%95%E2%91%A0%EF%BC%9AUE%E3%82%A8%E3%83%87%E3%82%A3%E3%82%BF%E4%B8%8A%E3%81%8B%E3%82%89%E8%BF%BD%E5%8A%A0,%EF%BD%9E%E2%91%A3%E3%81%AE%E9%A0%86%E3%81%AB%E3%82%AF%E3%83%AA%E3%83%83%E3%82%AF%EF%BC%89%E3%80%82)**
>
> Unreal EngineではC++のファイル・クラスの追加・削除に一工夫必要です。
> 本記事では、Unreal EngineでC++ヘッダファイル・ソースファイル（C++クラス）を追加・削除する方法を

---

<div class="post-metadata">

**Author:** ![Yurien](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Yurien](https://forums.unrealengine.com/u/Yurien)\
**Post date:** [April 3, 2023, 4:00pm UTC](https://forums.unrealengine.com/t/shipping-printstring/837227/3 "2023-04-03T16:00:05Z")

</div>

C++ファイル追加で解決に至りました！  
C++ファイル追加の仕方の情報まで丁寧に付けてくれてどうもありがとうございました。  
詰まることなくスムーズに進められました。  
（OS再インストールする前ではなぜC++ファイルなしに普通にできていたのかが謎ですが）

C++ファイル追加することでPrintStringなども表示されなくなるようなので、  
Compile Blueprints in Development Mode（開発モードでブループリントをコンパイル）は  
「Shippingの処理かつコンソールコマンドを受け付ける」ようにしたいときに使えそうですね。

プロジェクトランチャーを使用する方法もありましたので、後ほど追記したいと思います。
