【Unity】ゲーム開発が捗る「Unityエディタの便利機能・小技」まとめ

Unity 便利な機能・小技まとめ ゲーム開発

今回はUnityの使い方・便利機能に関する話題で

知っておくと便利なUnityエディタの機能や小技

を一通り丁寧にまとめてみるという内容になっております。

Untiyを使ってゲームを作っていると

  • この作業・操作はけっこう面倒くさいな…
  • もっと時短できないかな

と思うことがよくあります。このようなときはUnityエディタ用のアセットを使えば解決できる場合が多いのですが、実はUnityには隠し機能がたくさんあるので「本当は標準機能を使えば時短できるのにその機能を知らないだけ」なんて場合も考えられます。つまり皆さん知らず知らずのうちに時間やアセット代を無駄にしているかも?ということです。

そこでここではUnityをほぼ毎日触り続けて6年以上の私が「Unityエディタの知られざる便利機能」をなるべく多くご紹介していきますね。

便利機能1:ゲーム実行までの待ち時間を「ほぼゼロ」できるモードがある

まず一つ目の便利機能はゲーム実行までの待ち時間を爆速にできるモードです。通常、Unityでテストプレイを行うときは(プロジェクトの規模によりますが)数秒~数十秒の待ち時間が発生します。これって結構イライラしますよね?

そこでお試しいただきたいのが「Enter Play Mode」の設定を変更することです。この設定を変更すると待ち時間がほぼゼロになってめちゃくちゃ快適なのでお勧めです。

設定の変更方法は、まずツールバーの「編集」→「プロジェクト設定」からProject Settingsウィンドウを開き「Editor」項目内の「Enter Play Mode Settings」を見つけましょう。

Enter Play Mode Settings

そうしたらデフォルトでは「Enter Play Mode Options」がオフになっていますので、これをオンにします。次にその下の2つの項目について

  • Reload Doman:オフに変更
  • Reload Scene:オンのままにしておく

という設定にしましょう。なおUnity6をお使いの場合はこの項目はドロップダウンメニューになっているので「Reload Scene Only」を選択してください。

これでゲームを再生したときの待ち時間がほぼゼロになります!

Enter Play Modeについて&設定変更時の注意点

Enter Play Modeはエディタでのゲーム実行時の初期化処理に関する設定となっています。通常、ゲームの再生時にはスクリプトとシーンの初期化処理が行われそれぞれの状態がリセットされるのですが、この設定を変更することで時間がかかる初期化処理をスキップすることができ、結果としてエディタ上でのゲーム実行までの待ち時間が短縮されるのです。

ただしこの設定を先ほどのように変更する際には注意点があります。「Reload Domain」をオフにすることでゲーム実行までの待ち時間はかなり短縮されますが、裏を返すとスクリプトの状態は初期化されずそのままになるので特にstatic変数を使っている場合は注意が必要です。Reload Domainがオフの場合static変数はゲームを終了してもゲーム中の値のままになります。

その辺についての詳しい話はUnityの公式マニュアルに書いてあるのでもしご興味がありましたらそちらを参照してください。

便利機能2:「Alt+クリック」でツリー表示の展開・格納を一気に行える

次に二つの目の便利機能はツリー表示の展開・格納を一気に行える「Alt+クリック」です。

プロジェクトのフォルダ構成などが複雑になってくると、プロジェクトビューでフォルダを展開したり折りたたんだりする機会が多くなり面倒くさくなってきますよね。そこでお試しいただきたいのがプロジェクトビューやヒエラルキーでの「Alt+クリック」です。

Unityではフォルダやゲームオブジェクトに子がある場合、下の画像のようにアイコンの横に三角マークが表示されます。この三角マークを選択することで子を展開したり、逆に折りたたんだりすることが可能です。

Unity ツリー表示の例

ただほとんどの方は深い階層にある子を開くときに、下のGIFのようにこの三角マークを普通にクリックして一つずつ地道にツリーを展開しているかと思います。

Unity ツリー表示の展開(通常のやり方)

でもこんなやり方は時間の無駄です!

実はUnityではこの三角マークを選択するとき、Altキーを押しながらクリックするとその階層以下のツリー表示の展開・格納を一気に行うことができるのです。

Unity ツリー表示の展開(裏技)

地味に便利な小技なのでぜひ覚えておいてください。

便利機能3:実はインスペクターの表示はロックできる

三つ目の便利機能はインスペクターのロック機能です。

Unityでゲームを作っていると、例えばあるファイルをインスペクターの登録欄にドラッグ&ドロップしたくなることがかなり頻繁にあると思います。ただこのドラッグ&ドロップ操作は何かとミスしがちです。なぜなら「ドラッグする対象のファイルA」を誤ってクリックしてしまうと、「登録先のインスペクターの表示B」が消えてしまいインスペクターには新しくファイルAの情報が表示されるようになってしまうからです。…この仕様に思わずイラッとしてしまうのは私だけではないはずですよね?

ただし実を言うとインスペクターの表示項目は固定することができます。やり方は簡単で、インスペクターウィンドウ右上の小さなロックアイコンをクリックするだけです。

インスペクターのロックアイコン

このロック機能を有効化しておくと、その間は別のファイル・ゲームオブジェクト等を選択してもインスペクターの表示項目が切り替わらず表示が固定されたままになります。これで複数ファイルを選択してまとめてインスペクター上の配列に登録する、といったことができるようになるので覚えておくと何かと便利です。

ただしロックを解除し忘れると全然違うゲームオブジェクトにファイル等を登録してしまうといったミスにつながりますのでご注意ください。

便利機能4:インスペクターの表示内容は別のウィンドウに分離して表示できる

四つ目の便利機能は先ほどの3つ目の機能の上位互換的なもので、実はインスペクターの表示内容は新しい別ウィンドウに分離して表示できます

やり方はこちらも簡単で、別ウィンドウに表示したいゲームオブジェクトやコンポーネントを右クリック→一番下の「Properties…」を選択するだけです。

右クリック→Propertiesで内容を別ウィンドウに表示できる

すると次の画像のように対象のゲームオブジェクト等の内容が別ウィンドウとして新しく表示されます。

ゲームオブジェクト等の内容が別ウィンドウとして表示された場合の例

これでインスペクターの表示内容の切り替わりを気にすることなく落ち着いて作業することが可能です。

なお、この別ウィンドウ表示はゲームオブジェクト単位だけでなくコンポーネント単位で行うことができます。さらにゲームオブジェクトに限らず、例えばマテリアルやScriptableObjectなど設定項目をインスペクターで表示できるものなら何でも分離表示することができるのでとても便利です。

便利機能5:Unityエディタのショートカットは自由に変更できる

五つ目の便利機能はショートカットの変更機能です。Unityエディタにはたくさんのショートカットキーが存在するのですが、実はそれらはユーザーが自由に変更することができます。

やり方はツールバーの「編集」→「ショートカット」を選んでショートカット編集ウィンドウを開き、好きなショートカットキーの変更を行うだけです。

Unityエディタのショートカット変更ウィンドウ

デフォルトだと使いづらいショートカットがあると思うので、もし気になるようであれば変更しておくことをお勧めします。

便利機能6:「プリセット」を使えばコンポーネントの初期値を自分で決められる

六つ目の便利機能はプリセットです。

Unityを使っていると

  • よく使うコンポーネントの初期値を設定したい
  • あるコンポーネントの値を他のところでも使い回したい

という場面が結構あるのですが、このような場合はプリセット(=ある値を既定値として保存して使い回せるようにする機能)を使うと簡単に解決することができます。

プリセットを作成して値を使い回す方法

ではまずはプリセットを作成してみましょう。既定値を保存したいコンポーネントの右上の小さなスライダーアイコン(下図)を押してみてください。

Unity コンポーネントのプリセットアイコン

すると下記のようなウィンドウが出ます。まだ同じコンポーネントのプリセットを作っていないので、新しいプリセットを作るために「Create new Preset…」ボタンを押して適当な場所にプリセットファイルを作成しましょう。

プリセット選択・作成ウィンドウ

これで既定値が保存されました。この値を適用したい場合は同種のコンポーネントのプリセットアイコンをクリックして↑のプリセット選択ウィンドウを表示し、先ほど作ったプリセットを選べばOKです。これで先ほど保存したのと同じ値が適用されます。

作成したプリセットを使ってコンポーネントの初期値を設定する方法

次に、作成したプリセットをコンポーネント自体の初期値として設定する方法をご紹介します。ここでご紹介する方法を使うと、新しいコンポーネントを作成したときにプリセットの値が自動的に初期値として適用されるようになるのでよく使うコンポーネントに設定しておくと便利ですよ。

やり方はプロジェクト設定ウィンドウを開き、「プリセットマネージャー」という項目を選択します。すると空白部分の多いウィンドウが表示されるので、「デフォルトプリセットを追加」ボタンを押しましょう。

Unity プリセットマネージャー

あとは初期値を設定したいコンポーネントを選択し、新しく表示された欄に好きなプリセットを登録しておくだけです。これで特定のコンポーネントの初期値を自由に設定することができます。

便利機能7:シーン上のプレハブを別のプレハブに置換できる機能がある

七つ目の便利機能はプレハブの置換機能です。確かUnity2022からだった気がしますが、新機能としてシーン上のプレハブを別のプレハブに差し替えられる機能が追加されました。

やり方はとても簡単です。ヒエラルキーで差し替えたいプレハブを選択し、インスペクターの「プレハブ」欄に差し替え先の新しいプレハブを登録するだけです。

Unity プレハブの差し替え欄

この欄から新しいプレハブに差し替えると何がいいのかというと、新旧のプレハブで共通する設定値を引き継いだ状態で新しいプレハブに差し替えられます。つまり位置や回転などがそのまま新しいプレハブにも適用されるので、例えば仮置きしておいた3Dモデルを本番用の3Dモデルに簡単に置き換える…といったことが可能です。

この機能を知っているとレベルデザインがめちゃくちゃ捗るのでとてもオススメな小技だといえます。ぜひこの機会に覚えて帰って頂ければと思います。

便利機能8:エディタ上の数値入力欄には計算式を入力できる

最後に八つ目の便利機能は、エディタ上の数値入力欄には計算式を入力できることです。下のGIFのように、計算式を入力してからEnterを押せば計算結果がそのまま入力欄に記入されます。

Unity 数値入力欄に計算式を入れて計算を行った場合の例

わざわざ電卓アプリ等を使わなくても計算結果を記入できるので地味に便利です。ちなみに四則演算だけでなくべき乗やカッコ等の記号も使えるのである程度複雑な計算も行えます。ぜひ色々試してみてください。

おわりに

以上、Unityエディタで知っておくと便利な小技をご紹介しました。どれも便利でゲーム開発が捗る機能ばかりですので、ぜひこの機会に覚えて頂きご活用いただければと思います。

この記事がUnityでのゲーム開発のお役に立てば幸いです。