30
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

UnityAdvent Calendar 2022

Day 2

RiderFlowはいいぞ!

Last updated at Posted at 2022-12-01

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群の階層構造をビジュアル的に管理しやすくできます。

68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f343132352f30353934666338622d346233622d316330322d333437322d3864396238306436316661342e706e67.png

Bookmarkにより、特定のGameObjectをHierarchy Viewからお気に入りでき、Bookmarks Viewで一覧表示できます。またお気に入りしたGameObjectは、後述の「Scene view management toolbar」とも連携できます。

68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f343132352f62326638633961632d643736662d623965312d636636342d3134333161653032663732392e706e67.png

Noteを使えば、GameObjectにメモを残せます。

68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f343132352f31363364333130322d313633392d336536342d383063392d3437633432623831633765622e706e67.png

各機能のより詳細な説明は、筆者の次の記事をご覧ください。

公式ドキュメントはこちら。

Scene view management toolbar

RiderFlowを導入するとScene Viewに、次の図中枠で囲った「Scene view management toolbar」が表示されます。

68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f343132352f64386461643934642d643264342d393565632d386130332d3639643565336161363337622e706e67.png

このtoolbarから以下を行うことができます。

  • アセット検索とDrag&Drop
  • カメラプリセットの登録と切り替え
  • ブックマークオブジェクトへのフォーカス

「カメラプリセットの登録と切り替え」の様子は次の通りです。

rider_flow.gif

残りの機能の様子や詳しい使い方は、詳しくは筆者の次の記事をご覧ください。

公式ドキュメントはこちら。

スマートエディター

RiderFlowは、シンプルなエディターである「スマートエディター」を備えています。スマートエディターは、C#ファイルをさっと編集したい場面で活躍します。

Project WindowでC#のファイルを選択し、右クリックで表示されたメニューから、「Open Code Editor」を選んでください。次のようなスマートエディターのWindowが開きます。このWindow上でScriptを閲覧・編集できます。

スクリーンショット 2022-12-01 23.15.10.png

スマートエディターでは先の図のように、シンタックスハイライトがされ、エラーツールチップも表示されます。限定的ではありますが、いくつかのキーボードショートカットによる入力支援も備えています。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が表示されます。

image.png

置き換えたいGameObjectを選択し、「Replace」ボタンを押すことで、Replaceが実行されます。

RiderFlowによる、GameObjectのReplaceは「単純に置き換える」だけではありません。Replace前のGameObjectを参照する箇所は、Replace後のGameObjectを参照するように、更新されます。これにより、Scene内のGameObjectの参照を壊さずにGameObjectのReplaceが可能です。なお、GameObjectを複数選択して、一気にReplaceを行えます。

また、Replaceする際は、「名前を保持するかどうか」などの設定を、次の画像のように細かく設定可能です。

image.png

公式ドキュメントはこちら。

Find Usages

RiderFlowは、対象のScriptやPrefabなどのAssetが、どこで利用されているのか一覧化する「Find Usages」という機能を持っています。

Project Windowにおいて、探したい対象を右クリックし、メニューから「Find Usages」を選択します。そうすると、次のように対象のAssetが利用されている箇所が、Find Usages Windowで表示されます。

ryotamurohoshi_section_6_1_find_usages_window.png

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が検索結果にフォーカスされます。

ryotamurohoshi_section_6_3_show_usages_in_scene.png

また、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

image.png

検索キーワードをテキストボックスに入力すると、Windowに検索結果が表示されます。Windowには次のようなタブがあり、検索の対象範囲を変更できます。

  • 「All」プロジェクト中の全て
  • 「Hierarchy」 現在開いているScene
  • 「Files」 Script, Prefab, Modelなどのプロジェクト中のAsset
  • 「Action」 Unityプロジェクト中のアクション

また次の図のように、タブごとに異なるフィルターがあり、設定できます。

image.png

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プロジェクトに導入して試してください。

関連リンク

補足

本投稿は、UniBook14の筆者の「RiderFlowのススメ」をベースに、更新・編集・記事の分割など再構成を行った投稿です。

30
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
30
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?