RiderFlowとは?
RiderFlow(RiderFlow for Unity)はJetBrains社が開発した無料のUnityエディタープラグインです。RiderFlowを使うことで、Unity Editorにおいて、Scene内の素早い移動と検索、Scene内のGameObjectの関係把握、効率的なSceneやAssetの管理が可能になります。
RiderFlowの主な機能を次に示します。
- Hierarchy WindowにおけるGameObject管理機能
- Scene View management toolbar
- スマートエディター
- GameObjectのReplace
- Find Usages
- Search Everywhere
RiderFlowは無料でどなたでも利用可能です。(本投稿執筆時である2022/12/01時点において)
※JetBrains社製のC#/.NET用のIDEであるRiderは、有償です。
バージョン/動作確認環境
- Unity 2021.3.6f1
- JetBrains RiderFlow 2022.1.5.248
導入方法
RiderFlowはプロジェクトごとに導入するツールです。
本原稿執筆時(2022/12/01)、RiderFlowをプロジェクトに導入する方法は、次の3通りがあります。
筆者のおすすめ導入は、「UPMを使っての導入」です。「AssetStoreからの導入」と「Unityパッケージを公式サイトからダウンロードして導入」では、RiderFlowのコードがプロジェクトのAssets以下に配置されてしまいます。これは、バージョン管理やプロジェクト管理において、トラブルの原因になりえます。一方、「UPMを使っての導入」の場合、プロジェクトのAssets以下には、RiderFlowのコードは配置されません。「Packages/manifest.json」と「Packages/packages-lock.json」に、利用しているRiderFlowのバージョンが記載されるのみです。ぜひ、「UPMを使っての導入」で導入することを検討してください。
また「UPMを使っての導入」は、リリース当初はなかった導入方法です。リリース当初に公開された古い紹介記事にはない方法ですので、注意してください。
Hierarchy WindowにおけるGameObject管理機能
RiderFlowは、Hierarchy WindowにおいてGameObjectを効率的に管理できる次の機能を持っています。
- Section
- Bookmark
- Note
Sectionにより、Hierarchy ViewのGameObject群の階層構造をビジュアル的に管理しやすくできます。
Bookmarkにより、特定のGameObjectをHierarchy Viewからお気に入りでき、Bookmarks Viewで一覧表示できます。またお気に入りしたGameObjectは、後述の「Scene view management toolbar」とも連携できます。
Noteを使えば、GameObjectにメモを残せます。
各機能のより詳細な説明は、筆者の次の記事をご覧ください。
公式ドキュメントはこちら。
Scene view management toolbar
RiderFlowを導入するとScene Viewに、次の図中枠で囲った「Scene view management toolbar」が表示されます。
このtoolbarから以下を行うことができます。
- アセット検索とDrag&Drop
- カメラプリセットの登録と切り替え
- ブックマークオブジェクトへのフォーカス
「カメラプリセットの登録と切り替え」の様子は次の通りです。
残りの機能の様子や詳しい使い方は、詳しくは筆者の次の記事をご覧ください。
公式ドキュメントはこちら。
スマートエディター
RiderFlowは、シンプルなエディターである「スマートエディター」を備えています。スマートエディターは、C#ファイルをさっと編集したい場面で活躍します。
Project WindowでC#のファイルを選択し、右クリックで表示されたメニューから、「Open Code Editor」を選んでください。次のようなスマートエディターのWindowが開きます。このWindow上でScriptを閲覧・編集できます。
スマートエディターでは先の図のように、シンタックスハイライトがされ、エラーツールチップも表示されます。限定的ではありますが、いくつかのキーボードショートカットによる入力支援も備えています。C#ファイルをさっと編集・確認するのに非常に有用です。
しかし、注意点としてスマートエディターは「Rider」が備えている非常に強力なコード補完、クイックフィックス、リファクタリング機能などはありません。これらの機能が必要な場合、有償ツール「Rider」を導入することをおすすめします。Riderはいいぞ!
公式ドキュメントはこちら。
GameObjectのReplace
RiderFlowを導入することで、Scene ViewもしくはHierarchy Viewから、GameObjectをReplaceできます。
Hierarchy Windowにおいて、ReplaceしたいGameObjectを右クリックし、メニューから「Replace GameObject」を選択します。もしくはScene Viewにおいて、ReplaceしたいGameObjectを右クリックし、「Replace with...」を押します。そうすると、次のようなReplace後のGameObjectを選択するWindowが表示されます。
置き換えたいGameObjectを選択し、「Replace」ボタンを押すことで、Replaceが実行されます。
RiderFlowによる、GameObjectのReplaceは「単純に置き換える」だけではありません。Replace前のGameObjectを参照する箇所は、Replace後のGameObjectを参照するように、更新されます。これにより、Scene内のGameObjectの参照を壊さずにGameObjectのReplaceが可能です。なお、GameObjectを複数選択して、一気にReplaceを行えます。
また、Replaceする際は、「名前を保持するかどうか」などの設定を、次の画像のように細かく設定可能です。
公式ドキュメントはこちら。
Find Usages
RiderFlowは、対象のScriptやPrefabなどのAssetが、どこで利用されているのか一覧化する「Find Usages」という機能を持っています。
Project Windowにおいて、探したい対象を右クリックし、メニューから「Find Usages」を選択します。そうすると、次のように対象のAssetが利用されている箇所が、Find Usages Windowで表示されます。
Scene内に設置されていても、Prefabの一部となっていても、表示されていることに注目してください。表示されている利用箇所の項目をクリックすると、Project WindowやHierarchy Windowの利用箇所がハイライトされます。
RiderFlowは、「Find References in Scene」にも似た、「Show Usages in Scene」という機能も持っています。これを使うことで、対象のAssetが該当Scene(もしくはPrefab)においてどこで利用されているのか、視覚的に確認ができます。Project Windowにおいて、Sceneでの利用箇所を表示したい対象を右クリックし、メニューから「Show Usages in Scene」を選択します。次の画像のように対象のScene ViewのCameraが検索結果にフォーカスされます。
また、Scene view management toolbarに、検索結果のGameObjectの名称が追加で表示されます。対象Assetは、該当Scene(もしくはPrefab)において複数箇所で利用されている場合もあります。その場合、Scene view management toolbar中の「↑」と「↓」ボタンを押すことで、利用されているGameObjectを切り替えられます。
公式ドキュメントはこちら。
Search Everywhere
RiderFlowは、キーワードで対象を検索する「Search Everywhere」という機能を持っています。
Menu Itemの「Rider Flow > Search Everywhere」を選択する、もしくは次のキーボードショートカットにより、次の画像のような「Search Everywhere」用のWindowが表示されます。
- Win : Ctrl+Alt+N
- Mac : Command+Option+N
検索キーワードをテキストボックスに入力すると、Windowに検索結果が表示されます。Windowには次のようなタブがあり、検索の対象範囲を変更できます。
- 「All」プロジェクト中の全て
- 「Hierarchy」 現在開いているScene
- 「Files」 Script, Prefab, Modelなどのプロジェクト中のAsset
- 「Action」 Unityプロジェクト中のアクション
また次の図のように、タブごとに異なるフィルターがあり、設定できます。
Window中の検索結果の要素をクリックすると、Scene中のGameObjectがフォーカスされたり、プロジェクト中のAssetがハイライトされます。
表示されている検索結果がPrefabの場合、Drag&DropでSceneに配置できます。同様に、検索結果がScriptなどの場合、Scene上のGameObjectにDrag&Dropでアタッチできます。
Search Everywhereを使って、効率的にプロジェクト中のAssetを探し、Sceneに配置できます。
公式ドキュメントはこちら。
RiderFlowはどこにデータを保存するのか
RiderFlowのユーザーが登録した情報
- Hierarchy Windowで登録したBookmarkやNotes
- Scene Viewで登録したCamera Presetの情報
などはどこに保存されるでしょうか。これらの情報は、プロジェクト内の「Assets/RiderFlow.UserData」以下のパスに保存されます。本原稿執筆時(2022/12/01)においては、「SceneやPrefab中に情報を残さない」という点が大事なポイントです。何かしらの理由でRiderFlowをプロジェクトから取り除くことになった時、RiderFlowをアンインストールし、「Assets/RiderFlow.UserData」を削除すれば終わりです。「RiderFlowをアンインストールしたことで、SceneやPrefabが壊れてしまう」ということにはなりません。
また、視点を変えれば、プロジェクト内の「Assets/RiderFlow.UserData」以下のパス下のファイル群を、Gitなどでバージョン管理すれば、BookmarkやNotes、Camera Presetの情報をチームに共有できるということでもあります。
筆者は、ツールやプラグインを導入する時に、「そのツールは簡単にプロジェクトから外せるか」という点も導入の検討材料にしています。どんなに便利なツールやプラグインでも、「問題が出た時やプロジェクトの実情に合わなくなった時、プロジェクトから外せなくて大きな負債になる」のならば、導入へのハードルは高くなってしまいます。その点、RiderFlowは簡単にプロジェクトから外すことが可能です。
まとめ
RiderFlow(RiderFlow for Unity)はJetBrains社が開発した無料のUnityエディタープラグインです。RiderFlowに興味をもった方は、ぜひUnityプロジェクトに導入して試してください。
関連リンク
- 公式サイト : https://www.jetbrains.com/ja-jp/riderflow/
- 公式動画 : https://www.youtube.com/watch?v=YxasogqhzHA
- アセットストア : https://assetstore.unity.com/packages/tools/level-design/riderflow-218574
補足
本投稿は、UniBook14の筆者の「RiderFlowのススメ」をベースに、更新・編集・記事の分割など再構成を行った投稿です。