Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
33
Help us understand the problem. What are the problem?

posted at

updated at

【Unity】効率よく開発するためのTips

基本

Unity

🔰基本

🚀Unityのショートカットキー

よく使うショートカットキーを紹介します。

全般

ショートカットキー 内容
Ctrl + D 複製
Ctrl + Shift + C コンソール表示
Shift + Space 全画面表示
Ctrl + F / Ctrl + K 検索 / 広範囲に検索
Ctrl + P 再生 / 停止
Ctrl + Shift + P 一時停止
Alt + フォルダやオブジェクトをクリック 全ての階層を展開/全ての階層を折りたたむ

Sceneビュー

ショートカットキー 内容
右クリック + WASD 視点を前後左右に移動
右クリック + Shift + WASD 視点を前後左右に素早く移動
QWERTY ツールの切り替え
Ctrl + 移動 / 回転 / 拡大 グリッドしながら移動 / 回転 / 拡大

Edit -> ShortCuts からショートカットキーの閲覧と編集が可能です。

🎛️プリセット

プリセットとは、コンポーネントの設定値を保存して再利用可能にする機能です。コンポーネント設定の手間が省け、ミスも防げます。
インスペクタの右上にある、調整バーのアイコンをクリックすると、コンポーネントの値をプリセットとして読み込んだり書き出したりできます。プリセットは画像や音声のインポート設定、Project Settings の設定値など、色々なもので作れます。
Inspector.png
画像をインポートした時やコンポーネントを追加した時に、プリセットを自動で適応したい場合は、プリセットのインスペクタにある「Add to 〇〇 default」ボタンをクリックして下さい。プリセットが Project Settings -> Preset Manager に追加されます。
AudioSourcePreset.png

🛠️Editor拡張

Unity Editor はスクリプトでカスタマイズできます。Unity Editor を不便に感じたときは、Editor拡張をネットで検索してみてください。色々なEditor拡張が配布されています。
ContextMenuMenuItemOnValidate() といったEditor拡張であれば簡単に作れます。

⏯️Script Changes While Playing

Editorでゲーム実行中にスクリプトを変更した際の挙動を変えて、無駄な待ち時間を減らせます。
変更は Unity -> Preferences -> General -> Script Changes While Playing から行えます。

項目 内容
Recompile And Continue Playing コンパイル後、ゲームを再開します
(大抵、エラーが出てまともに動きません)
Recompile After Finished Playing ゲーム終了後、コンパイルします
Stop Playing And Recompile 自動でゲームを終了して、コンパイルします

⚠️注意が必要なもの

Editor の挙動に影響が出るため、扱う際は機能を理解して忘れないようにしましょう。

⏩Enter Play Mode Settings

Editor上でゲームの再生をするときに行われる初期化処理を省略して、ゲームの起動時間を圧倒的に短縮します。
使う際は Edit -> Project Settings -> Editor -> Enter Play Mode Settings -> Enter Play Mode Options を有効にして下さい(static な変数が自動で初期化されなくなる等の副作用があるので注意)。

🔁Auto Refrech

ファイルのインポートや変更後のリフレッシュ処理を手動化する事で、望まない処理待ちを防げます。
使う際は Edit -> Preferences -> Asset Pipeline -> Auto Refresh を無効にして下さい。手動のリフレッシュ処理は Ctri + R で行えます。
エディタ再生前にリフレッシュするスクリプトを追加すれば、リフレッシュ忘れを防げます。

🔒CompileLocker

スクリプト書き換え後のコンパイル処理を手動化する事で、望まない処理待ちを防げます。
Auto Refresh を無効にする必要があります。

CompileLocker には、ショートカットキーの重複問題があります。ショートカットの変更は Editor -> ShortCuts から行える他、スクリプトから直接変更も可能です。私は Compile に「#&c (Shift + Alt + c)」、ForceCompile に「%#&c (Ctrl + Shift + Alt + c)」を割り当てています。

CompileLocker クラスに追加する事で便利になるコードを紹介します。

    // コンパイル忘れ防止
    [InitializeOnLoadMethod]
    private static void InitReloadAssemblies()
    {
        EditorApplication.playModeStateChanged += (PlayModeStateChange state) =>
        {
            if (state == PlayModeStateChange.ExitingEditMode) ReloadAssemblies();
        };
    }
    //コンパイル後に再生
    [MenuItem(MenuItemPath + "Compile And Play #&p", false)]
    private static void CompileAndPlay()
    {
        ReloadAssemblies();
        EditorApplication.isPlaying = true;
    }

🗂️Assembly Definition

Assembly Definition(asmdef)とは、プログラムのコンパイル範囲を区切って、コンパイル処理を削減する機能です。大規模プロジェクトやライブラリ向けの機能です。
asmdef の作成は、Project ビューにあるフォルダを右クリック -> Create -> Assembly Definition から行えます。
asmdef はアセンデフと読みます(非公式)。

詳細

  • asmdef 以下の階層にあるスクリプトは、その asmdef に属します。
  • asmdef に属したスクリプトは、asmdef に属していないスクリプトを参照できません。
  • Auto Referenced を無効にすると、コンパイル処理から除外されますが、asmdef に属していないスクリプトが参照できなくなります。
  • Auto Referenced を有効にすると、常にコンパイル処理に含まれるようになりますが、asmdef に属していないスクリプトが参照できるようになります。
  • Assembly Definition References に参照したい asmdef を追加すれば、参照可能になります。

小手先テクニック

🏃ゲームスピード

キー入力でゲームスピードを変えられる便利コンポーネントを用意すれば、テストプレイにかかる時間を短縮できます。
TimeDebugger.png

🧰便利コンポーネント

振動するだけのコンポーネントや、シーン移動するだけのコンポーネントなどを作っておくと、単純な実装箇所を楽に実装できます。
Utility Component.pngSimpleHapicVibration.png

📂ディレクトリ

画像のようなフォルダを用意して、新規プロジェクトにD&Dすれば、フォルダを生成する手間が減らせます。
Directory Template.png

⚙️初期値変更

  • Tools -> Demigiant -> DOTween Utility Panel から、DoTween のデフォルトの Easing や LoopType を変更できます。
  • Project Settings -> TextMeshPro -> Settings から、TextMeshPro 生成時のフォントやサイズを変更できます(Preset でも可)。

Visual Studio の便利機能

機能 使い方
メソッドなどを折り畳む・展開する Ctrl + M, Ctrl + M
メソッドなどを全て折り畳む・展開する Ctrl + M, Ctrl + L
クイックアクションとリファクタリング 右クリック, クイックアクションとリファクタリング
変数やメソッドの定義へ移動 右クリック, 定義へ移動
変数やメソッドの実装に移動 右クリック, 実装に移動
変数やメソッドのすべての参照を検索 右クリック, 全ての参照を検索

定義へ移動 などはF12でも実行できますが、私は手を大きく動かすのが面倒なのでマウス操作で行っています。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
33
Help us understand the problem. What are the problem?