【UE5】コンソールデバッグの使い方・作り方

# 概要
個人開発だと一切気にしないのですが、複数人のチーム開発だとデバッグ周りの知識必要だなと思い立ちまして、
内容をまとめつつ自分の知見増やそうというものです。
ちなみに、PrintStringしか基本使ったことないです。そのほか全部初見です。


# PrintString
公式：https://docs.unrealengine.com/4.27/en-US/BlueprintAPI/Utilities/String/PrintString/

「Print String」というノードです。私はよく使います。
簡単にパラメータや処理がここまで来ているのか確認するのにとっても便利です！
[In String]というところに適当につなげればイイ感じに変換してもらえるので楽です。
<iframe width="560" height="315" src="https://www.youtube.com/embed/8TVPIdDvsmU" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>


# ブループリントでのブレイクポイントによるデバッグ
公式：https://docs.unrealengine.com/5.1/ja/blueprint-debugging-in-unreal-engine/

ブループリントのノードに直接ブレイクポイントを張り付けるやり方です。
私は当たり判定のオーバーラップを信じれない時に使ったりしてます。
あと、ログだったりcallstackだったり呼び出し順番とか確認した時に見れるかもしれないですね。
<iframe width="560" height="315" src="https://www.youtube.com/embed/SFkA8DwI5CQ" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>




# ブループリントでのアクティブルート確認
公式：https://docs.unrealengine.com/5.1/ja/blueprint-debugging-example-in-unreal-engine/

「No debug object selected」から項目を増やす方法が分からず実演できないのでいったん諦めます…


# @コマンドによるデバッグ表示
ゲーム画面で「@」を押して入力する感じです。Output Logから入力できるはず。
果てしなくあります…。よく使いそうなものだけ記載してみます。調べて便利そうなリンクを張っておきます。
### コマンド例
| コマンド | 内容 |
|:-:|:-:|
| stat fps  |  fpsを表示 |
| stat unit  |  Gameスレッド、Drawスレッド、GPUスレッドの1フレームあたりの所要時間を表示 |
| stat unitgraph  | stat unitをグラフ化して表示  |
| stat level  | 読み込んだ・読み込み中のレベルと読み込み時間の表示  |
| slomo [Float値]  |  スローモーション/早送り化 |
| restart level  | レベルの再読み込み  |
| show bounds  | バウンディングボックスの表示  |
| toggle debug camera  | デバッグ用カメラに切り替え  |
<iframe width="560" height="315" src="https://www.youtube.com/embed/vFb2Wo9HD8A" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

### 参考
* https://historia.co.jp/archives/1342/
* http://com04.sakura.ne.jp/unreal/wiki/index.php?%A5%C7%A5%D0%A5%C3%A5%B0%B5%A1%C7%BD
* https://docs.unrealengine.com/5.0/ja/console-commands-for-network-debugging-in-unreal-engine/
* https://docs.unrealengine.com/5.0/ja/vehicle-debug-commands-in-unreal-engine/
* https://docs.unrealengine.com/5.0/ja/console-slate-debugger-in-unreal-engine/


## サウンド系のデバッグ
### 標準機能のサウンド
公式：https://docs.unrealengine.com/5.0/ja/audio-console-commands-in-unreal-engine/
CRI ADX LEで試しましたが反応しないので、Unreal Engine標準機能のサウンドでしか使用できなそうです。
余裕があればWwiseでも試しますがたぶん同じ結果になりそう。
#### 使いそうなコマンド
| コマンド | 内容 |
|:-:|:-:|
| au.3dVisualize.Enabled  | 3D空間上で再生された場所に丸いオブジェクトと軽い情報を表示させる。0:無効、1:有効  |
| au.3dVisualize.ActiveSounds  | 見た目を変えるだけです。0:無効、1：ボリューム (Lin)、2：ボリューム (dB)、3：距離、4：ランダム カラー  |
| au.Debug.Sounds  | 画面上に再生されているキューを表示する。（細かい内容については未確認。数値はリスナーからの減衰値かなぁ）  |
<iframe width="560" height="315" src="https://www.youtube.com/embed/r4DXTpbIIco" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>


# @コマンドのデバッグ追加
自分でほしいコンソールコマンドの作成が出来たりします。
ほぼほぼ参考を模倣して真似ました。（この過程でCtrl+Alt+F11でコンパイル出来ることを学びました。）
<iframe width="560" height="315" src="https://www.youtube.com/embed/yCxFs_1HRHA" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

### 参考
* https://qiita.com/unknown_ds/items/5ebcb4e461f4a98eefc0
* https://historia.co.jp/archives/839/
* https://colory-games.net/site/define-console-command-using-cheat-manager/