補給箱の弾数を変えたいだけなのに、BeginPlayから伸びる線を何画面も追っている。見た目の設定も、所持数の設定も、確認用の表示も同じ場所にあると、変更したい処理を探すだけで時間がかかります。
こうした、線や処理が絡み合って流れを追いにくい状態を スパゲッティコード と呼びます。整理するときは、ノードをきれいに並べることに加えて、「どのまとまりが、何をするか」へ名前を付ける のが効果的です。
この記事では10のテクニックを3系統に分け、最後に小さな補給箱のBlueprintを整理します。合言葉は、区画→整列→箱詰め。動作を変えずに、後から読み返しやすくしていきます。
この記事でわかること
- 分割・見た目・名前と値で、グラフを読みやすくする10の技
- コメントボックス、整列、Rerouteの使いどころ
- Collapse to Functionで、処理のまとまりに名前を付ける方法
- 整理の前後で、同じ結果になるか確かめる手順
読みやすいグラフは、変更する場所が分かる
しばらく触っていないグラフでは、作った本人も細かな意図を忘れます。コメントや関数名は、そのときの自分へ残す案内です。

たとえば、BeginPlayが「所持数を設定する→見た目を整える→結果を表示する」と読めれば、弾数を変えるときは最初のまとまりを開けば済みます。全ノードを毎回読む必要がなくなります。
整理の目的は、処理の流れと変更する場所を見つけやすくすること です。線が1本交差しただけで悪いグラフになるわけでは ありませんし、短い処理を無理に分割する必要もありません。
10のテクニック:3つの系統

| 系統 | テクニック |
|---|---|
| 分割の技 | ①関数化 ②マクロ化 ③Componentへの分割 |
| 見た目の技 | ④コメントボックス ⑤ノード整列 ⑥Reroute ⑦左から右へ読む配置 |
| 名前と値の技 | ⑧意味の分かる名前 ⑨ローカル変数 ⑩調整値に名前を付ける |
全部を一度に使う必要はありません。まずはコメントと整列で流れを確かめ、まとまりが見えたら分割を考えます。
分割の技(①〜③)
① 1つの仕事をFunctionへまとめる
Function=関数 は、一連の処理に名前を付け、呼び出せるようにしたものです。「ダメージを計算する」だけでなく、「補給箱の中身を初期値へ戻す」のような、戻り値のない処理もまとめられます。
関数の呼び出しノードを見れば仕事の名前が分かり、詳しく知りたいときは中を開けます。同じ処理を別の場所でも使うなら、コピーを増やさず、同じ関数を呼べます。
目安は「このまとまりを一言で説明できるか」です。「いろいろ設 定する」より「補給箱の所持数を設定する」と言える単位の方が、変更先を探しやすくなります。
② 繰り返し使う流れはMacroも候補にする
Macro=マクロ も、複数ノードを1つにまとめる仕組みです。成功・失敗のように実行出口を分けたい場合や、DoOnceとDelayを組み合わせた流れを繰り返し使う場合に候補になります。
ただし、BranchがあるだけでMacroにする必要はありません。Functionでも分岐や変数の設定はできます。 一方、Delayのように途中で待つ処理はFunction内には置けません。違いはFunctionとMacroの記事で具体的に試せます。
③ 複数のActorで使う仕事をComponentへ分ける
敵にも木箱にも体力を持たせたいなら、HPの管理をComponentへ分ける方法があります。Componentは、Actorへ取り付けて使う機能の部品 です。
それぞれのActorへHP計算をコピーする代わりに、同じ体力の部品を取り付けます。共通の計算を直す場所がまとまります。まずは関数で仕事を分け、複数Actorへ持たせたいまとまりが見えたら、体力Componentの実践を参考にしてください。

見た目の技(④〜⑦)
④ コメントボックスで目的を示す
ノード群を 選択して C キーを押すと、コメントボックス で囲めます。枠の見出しには「何のための処理か」を書きます。
「Setを2回」より「開始時の弾数と回復薬数をそろえる」なら、ノードを読む前に目的が分かります。理由が特別な値には、「連射しても音が重なりすぎないように0.1秒空ける」のような短い補足も役立ちます。
⑤ ノードと実行線をそろえる
複数のノードを選択して右クリックし、「Alignment」の項目で上端や左端などをそろえます。つながった線をまっすぐにしたい場合は「Straighten Connections」を使います。
ノードの上端をそろえても、実行ピンの高さまで一致するとは限りません。カードの端をそろえる操作と、接続線を直線にする操作 を使い分けると、流れを追いやすくなります。
ショートカットは「Editor Preferences」→「Keyboard Shortcuts」で、使うコマンド名を検索できます。キー設定が違う環境では、メニューから実行して構いません。
⑥ Rerouteで線の通り道を変える
Reroute は、ワイヤーの途中に置く中継点です。ワイヤーをダブルクリックするか、出力ピンからドラッグして「Add Reroute Node」を選びます。
ノードの裏を通って見えない線を、外側へ迂回させるときに便利です。中継点を動かしても、元の出力と入力の関係は変わりません。別々の値を1本に合流させる道具ではありません。
