検証Ver:4.25.0
これはプロジェクトの構造を分析する際に役に立つ機能の1つの紹介です。
#1. ケース
突然ですが問題です。自分が現在知っている事が「Player
というBPはCharacterBase
というC++の子である」という場合、「CharacterBase
の子には他にどのようなBPがあるか」という事を効率的に調べる方法は何があるでしょうか。図示すると以下のようなイメージです。
#2. なぜ困ったか
これは私がプロジェクトを眺めている時に「どうすれば効率的にそれらを知ることが出来るか」と悩んだ点でした。ここで困った点として以下の2つがあります。
・Editor上で親クラス名を指定した検索ができない
クラス名やアセットタイプなどを頼りにアセット検索することはできますが、親クラス名を指定した検索はありません。1
・リファレンスビュワー上ではNative Packageしか表示できない
以下の図はBPのPlayer
クラスとC++のCharacterBase
の参照を示したものです。
Show Native Package=TRUE
にするとネイティブクラスとのリファレンスも表示することができます。
ただし、複数のコードを含むので本来含まれて欲しくないものもNative Packageのリファレンスとして表示されます。
#3. Class Viewerで解決
Class Viewerを確認することが私の中での最適解でした。もしかしたら他にもあるかもしれません。
このツールは[Window]->[Developer Tools]->[Class Viewer]をたどってから開くことができます。
左図のように検索機能により親クラスCharacterBase
を名前で検索します。親クラスが見つかったら選択して検索入力を削除すると、右図のように継承関係がリストアップされます。
プルダウンを選択すると、左図のようにネイティブクラスは直接クラス追加ができたり、右図のようにブループリントクラスはContentsにジャンプする事もできます。
デフォルトではフィルタでActor Only
、Placeable Only
が有効になっているので、配置可能なActorのみしかリストアップされていません。このチェックを外すことでUObjectベースのクラスなどもリストアップされるので、データクラスなどの検索も簡単にできるようになります。
-
「ありません」というより、正しくは「知らなかった」ですね。 ↩