「RiderFlow for Unity」は、IntelliJ IDEAやRiderなどIDEを開発しているJetBrains社が開発した、ゲームエンジンUnity向けの無料プラグインです。
Unityで開発をする上で、「こんな機能が欲しかった」という機能が無料で使えます(2022年11月30日時点)。RiderFlowにより、Scene内の素早い移動と検索、Scene内のGameObjectの関係把握、効率的なSceneやAssetの管理が可能になります。
この投稿ではそんなRiderFlow for Unityの「Manage the GameObjects Hierarchy view」で紹介されている、Hierarchy ViewにおいてGameObjectを効率的に管理できる次の機能
- Section
- Bookmark
- Note
を紹介します。
動作確認環境
- Unity 2021.3.6f1
- JetBrains RiderFlow 2022.1.5.248
Section
Section
はHierarchy ViewのGameObject群の階層構造をビジュアル的に管理しやすくする機能です。
「背景を指定カラーでハイライトしたGameObject」で、Hierarchy ViewにおけるGameObjectの階層構造をグループ化できます。上の画像では
- Floors
- Props
- Enemies
という3個のSection
を作っています。
「Hierarchy View」を右クリックして「Create Section」を選択することで、Section
の作成を行えます。
Section
にカーソルを当て右クリックを行うことで、次のSection
関連の処理が実行できます。
- 「Remove Section」 : Sectionの削除。SectionであるGameObject自体も削除。Sectionの子GameObject群は削除されず、Sectionの親GameObjectを親とする。
- 「Unmark Section」 : Sectionを通常のGameObjectにする。Hierarchyの階層構造はそのまま。
普通のGameObjectをRiderFlow for UnityのSection
に変換できる機能があります。
「Hierarchy View」を右クリックして「Scan for Sections」を選択することで、「=====ここにセクション名=====」という命名のGameObjectなら、Section
に変換できます。
なお、「=====ここにセクション名=====」という命名規約は、PrefrerenceのRiderFlowのWindowから変更ができます。
Section
の実態はEditor拡張によりHierarchy Viewにおいて背景がカラーリングされただけの「ただのGameObject」です。そのため、Transformの親子関係関連のメソッドの呼び出しで、思わぬ不具合が発生しないように注意して下さい。
Section
は「ただのGameObject」ですが、ゲームの種類によっては、無駄なGameObjectの階層構造が問題になる場合があります。その問題を回避するために、RiderFlowは実行時や最終成果物作成時に、SectionのGameObjectを削除する機能を持っています。まず、RiderFlowのPreferenceで、「Remove section in play mode (experimental)」や「Remove section in final build (experimental)」にチェックを入れます。そして、Hierarchy Viewにおいて対象のSectionのペンマークをクリックし、表示されるSection編集Windowの「Build Settings > Remove Section」にチェックを入れます。
これにより、実行時や最終成果物作成時に、対象のSectionのGameObjectをSceneから削除できます。
Bookmark
Bookmark
は、特定のGameObjectをお気に入りできる機能です。
Hierarchy View
において、GameObjectにカーソルを合わせると星マークが表示されるので、その星マークをタップするとBookmarkできます。
この機能は、Hierarchy View中に星マークがつくだけではなく、非常に有用です。
Bookmark
したGameObjectは「Scene View management toolbar」から、Bookmark
したオブジェクトに素早くアクセスできます。
また、メニューの「RiderFlow > Bookmarks」から開ける「Bookmarks View」で、Bookmarkしたオブジェクトの一覧や、ブックマークしたオブジェクトだけの階層構造を確認できます。
Notes
NotesはGameObjectごとにメモ書きを残せる機能です。
Hierarchy Viewにおいて、GameObjectにカーソルを合わせるとペンマークが表示されるので、そのペンマークをタップすると、メモ書き入力・閲覧ができます。
単純ですが、非常に強力な機能です!
以前のバージョンだと、日本語などの入力に不具合がありましたがRiderFlow 2022.1.4で修正されました。
どこにデータが保存されるのか?
Section、Bookmark、Notesのデータはどこに保存されるか気になった人もいるのではないでしょうか。
これらのデータは、プロジェクト内のAssets/RiderFlow.UserData
というパスに保存されます。
そのためバージョン管理して、チームと共有することもできます!
まとめ
この投稿では、Rider for Unityの「Manage the GameObjects Hierarchy view」で紹介されている機能を紹介しました!