Unity エディターのコマンドライン引数
A list of arguments you can use when you launch a version of the Unity Editor from the command line.
読み終わるまでの所要時間 51 分最終更新 1ヶ月前
コマンドラインから Unity エディターを起動し、引数を渡すことで、エディターの起動方法を変更することができます。また、コマンドラインを使用して、起動時にプロジェクトの C# スクリプトから特定のメソッドを実行することもできます (起動時にメソッドを実行するスクリプトの例 を参照)。
ノート: このページの情報を使用するには、OS のコマンドラインインターフェースを使用してアプリケーションを起動し、コマンドライン引数を実行する方法を把握しておく必要があります。
Unity エディターを起動する場合、コマンドライン引数値の区切り文字は 1 つのスペースです。例えば、ウィンドウモードを borderless に設定するには、 を使用します。
-window-mode borderlessUnity の起動
コマンドプロンプトまたはターミナルから Unity プロジェクトを起動するには、Unity アプリケーションのディレクトリパス、、ターゲットプロジェクトのディレクトリパスを入力します。
-projectPath以下の手順は、Unity エディターが Unity Hub を通じてデフォルトの場所にインストールされていることを前提としています。
macOS で Unity を起動するには、以下をターミナルに入力します。
/Applications/Unity/Hub/Editor/<version>/Unity.app/Contents/MacOS/Unity -projectPath <project path>Linux で Unity を起動するには、以下をターミナルに入力します。
/home/<user>/Unity/Hub/Editor/<version>/Editor/Unity -projectPath <project path>Windows では、コマンドプロンプトに以下を入力して Unity を起動します。
"C:\Program Files\Unity\Hub\Editor\<version>\Editor\Unity.exe" -projectPath "<project path>"このように Unity を起動すると、起動時にコマンドと情報を受け取ります。これは、テストスイート、自動ビルド、他のプロダクションタスクに役立ちます。
ノート:
-
別の場所にインストールされている Unity エディターを使用する場合は、コマンド内のパスを調整します。エディターの場所のパスを見つける方法の詳細については、エディターのバージョンのインストールとアンインストール を参照してください。
-
Windows プラットプラットフォームで引数を渡す場合は、構文エラーを防ぐために、ディレクトリパスが 1 つのバックスラッシュで終了しないようにしてください。二重のバックスラッシュ () を使用するか、バックスラッシュを使用しません。以下に例を示します。
\\* `"C:\Program Files\Unity\Hub\Editor\<version>\Editor\Unity.exe" -projectPath "C:\MyUnityProjects\MyProject"`* `"C:\Program Files\Unity\Hub\Editor\<version>\Editor\Unity.exe" -createProject "C:\MyUnityProjects\MyProject\\"`
コンフィギュレーション引数
起動時に追加のコマンドと情報を使って、Unity エディターを起動し、Unity アプリケーションをビルドできます。このページでは、Unity エディターおよび Unity Player インスタンスの起動と設定に使用できるコマンドライン引数をまとめています。
コマンド | 詳細 |
|---|---|
| 特定のパスに空のプロジェクトを作成 |
| Unity の自動アップデート時に無視するアセンブリ名をスペースで区切ったリストにし、パラメーターとして指定します。 スペースで区切ったアセンブリ名のリストは任意です。例 1 のように、アセンブリ名を指定せずにコマンドラインオプションを渡すと、すべてのアセンブリが無視されます。 例 1 例 2 例 2 では 2 つのアセンブリ名が渡されています。そのうちの 1 つはパス名が表示されています。例 2 では、 あるアセンブリを これを利用して、アセンブリをインポートするときの不要な API アップデーター のオーバーヘッドを避けます。 この引数は、アップデートする必要のない Unity API にアクセスするアセンブリをインポートする場合に便利です。また、Unity API にまったくアクセスしないアセンブリをインポートする場合にも便利です (例えば、ソースコードの一部またはすべてを Unity の外部でビルドし、その結果のアセンブリを Unity プロジェクトにインポートする場合など)。 ノート: アップデートが必要なアセンブリのアップデートを無効にすると、コンパイル時、ランタイム、またはその両方で、追跡が困難なエラーが発生する可能性があります。 |
| 起動時の GPU (Graphics Processing Unit) スキニングを無効にします。 |
| Unity がプロジェクトを開いたらすぐ、かつ、任意のアセットサーバーの更新が完了した後に、この静的メソッドを実行します。このコマンドは、継続的インテグレーション、単体テストの実施、ビルド作成、データ準備などのタスクを行うために使用します。 コマンドライン処理のエラー結果が必要な場合は、例外を投げて Unity を戻り値 1 で終了させるか、ゼロ以外の戻り値を返すコード EditorApplication.Exit を呼び出します。 パラメーターを渡したい場合は、コマンドラインにそれらを加え |
| 指定したパス (または複数の指定したパス) にパッケージをエクスポートします。この場合では |
| 指定した アセットパッケージ をインポートします。Unity はインポートダイアログを表示しません。 |
| Unity JobQueue Job Worker Count の最大スレッド数を指定します。この値は、Unity スタンドアロンプレイヤーの |
| Unity がエディターまたは OS のスタンドアロンのログファイルを書き込む場所を指定します。コンソールに出力する場合は、パス名に |
| Unity Package Manager を無効にします。 |
| シーンファイルやパッケージファイルへのパスからプロジェクトを開くことができます。または、 |
| Unity エディターのアクティベーションのときに、ログインフォームにパスワードを入力します。 |
| 指定したパスのプロジェクトを開きます。パス名にスペースが含まれている場合は、引用符で囲みます。 |
| 他のコマンドの実行が終了した後に Unity エディターを終了します。これによりエラーメッセージが表示されなくなる場合があります (ただし、エラーメッセージは Unity が Accelerator Cache Server にも接続されている場合は、保留中のキャッシュのアップロードが完了する前に Unity が終了しないように、コマンドライン引数の |
| リリースコード最適化モードを有効にし、セッションの現在のデフォルトコード最適化モードをオーバーライドします。 |
| テクスチャをインポートしたり、プロジェクトをビルドしたりする前に、デフォルトのテクスチャ圧縮を希望の形式に設定します。これは、希望の形式で再度テクスチャをインポートする必要がないようにするためです。使用可能な形式は dxt、pvrtc、atc、etc、etc2、astc です。テクスチャ圧縮ターゲティング が有効の場合、この引数は無視されます。 |
| Unity がアセットをインポートするときに使用するテクスチャ圧縮設定をオーバーライドします。これは、ローカルでの開発時に、テクスチャのインポートやビルドターゲットの切り替えを高速化するために特に便利です。詳細については、EditorUserBuildSettings.overrideTextureCompression の API リファレンスドキュメントを参照してください。 |
| スタンドアロンプレイヤーがクラッシュしたときに表示されるダイアログを Unity が表示しないようにします。この引数は、プレイヤーを自動化されたビルドやテストで実行したい場合に便利です (ダイアログによって自動化された手順が妨げられるのを防ぎます)。 |
| Unity がエディターから独立して実行される UPM 背景アプリケーションのログファイルを書き込むパスとファイル名を指定します。同じコマンドで |
| Unity エディターのアクティベーションのときに、ログインフォームにユーザー名を入力します。 |
| バージョン管理モードを設定します。利用可能なモードは、ノート: スペースを含む |
| このセッションのバージョン管理モードを設定します。利用可能なモードは、ノート: スペースを含む |
| エディターを起動せずに、コマンドラインで Unity エディターのバージョン番号を表示します。 |
| すべての Editor.log メッセージの先頭に、現在のタイムスタンプとスレッド ID を配置します。 |
バッチモード引数
Unity のバッチモードを設定するには、以下の引数を使用します。バッチモードは、ユーザー入力なしに Unity に定義済みのタスクを実行可能にさせるもので、テストなどの自動化されたタスクに便利なモードです。詳細については、バッチモードとビルトインコルーチンの互換性 を参照してください。
コマンド | 詳細 |
|---|---|
| Unity がバッチモードで起動されているときに APIUpdater の実行を指定するために、このコマンドラインオプションを使用します。 例 Unity をバッチモードで起動するときにこのコマンドライン引数を省略すると、APIUpdater が実行されず、コンパイラーエラーが発生する原因になることがあります。 |
| バッチモードで Unity を実行します。バッチモードでは、Unity は人間のインタラクションを必要とせずにコマンドライン引数を実行します。また、人間のインタラクションを必要とするポップアップウィンドウ (Save Scene ウィンドウなど) も抑制します。コマンドライン引数を使用する場合は、自動化を中断することなく実行できるため、Unity は常にバッチモードで実行する必要があります。 もし例外エラーがスクリプトコード実行時に発生したり、アセットサーバーの更新が失敗したり、その他の操作が失敗した場合、Unity は直ちに戻り値 1 を返して終了します。 バッチモードでは Unity は最小限のログ出力しかコンソールに送信しません。ただし ログファイル には完全なログ情報が含まれます。エディターで同じプロジェクトを開いているときにプロジェクトをバッチモードで開くことはできません。Unity のインスタンスは同時に 1 つしか実行することができないからです。 エディターまたはスタンドアロンプレイヤーがバッチモードで実行されているかどうかを確認するには、Application.isBatchMode 演算子を使用します。 |
| この引数を使用すると、コンパイルエラーが発生しても、Unity はアプリケーションの開始を継続します。 |
| バッチモードでこれを実行すると、Unity はグラフィックスデバイスを初期化しません。これにより、GPU を搭載していないマシンでも自動化されたワークフローを実行できるようになります。自動化されたワークフローは、ウィンドウにフォーカスがあるときのみ機能し、そうでない場合はシミュレーションされた入力コマンドは送信できません。Enlighten Realtime Global Illumination ではメタパスレンダリングに GPU が必要なため、ノート: 出力ログはこのモードではオフになります。出力ログの作成を有効にするには、コマンド |
ビルド引数
コマンドラインからさまざまなプラットフォームのプレイヤーをビルドするには、以下の引数を使用します。コマンドライン引数を使用したプレイヤーのビルドの詳細については、Unity スタンドアロンプレイヤーのコマンドライン引数 を参照してください。
コマンド | 詳細 |
|---|---|
| 指定したパスに保存したビルドプロファイルをアクティブなビルドプロファイルとして設定します (例えば、ノート: |
| |
| 64 ビットスタンドアロン Linux プレイヤーをビルドします (例えば、 |
| 64 ビット Linuxヘッドレスシミュレーションプレイヤーをビルドします (例えば、 |
| 64 ビットスタンドアロン macOS プレイヤーをビルドします (例えば、 |
| エディターを起動するアクティブなビルドターゲットを選択します。使用可能なオプションは、エディターで有効にしたビルドターゲットによって異なります。これらのオプションは、API 列挙型 • • • • • • • • • • • クローズドプラットフォームにアクセスできる開発者は、他の |
| プロジェクトをロードする前に、スタンドアロンフォームのアクティブなビルドサブターゲットを選択します。以下のオプションが選択可能です。 • プレイヤー • サーバー |
| 32 ビットスタンドアロン Windows プレイヤーをビルドします (例えば、 |
| 64 ビットスタンドアロン Windows プレイヤーをビルドします (例えば、 |
Accelerator Cache Server 引数
Unity による Unity Accelerator Cache Server の使用を設定するには、以下の引数を使用します。これらの引数は、Editor Preferences に保存されている対応する設定をオーバーライドします。
コマンド | 詳細 |
|---|---|
| Accelerator Cache Server を有効にします。また、 |
| Accelerator Cache Server のエンドポイントアドレスを指定します。 例 |
| Accelerator Cache Server の名前空間プレフィックスを設定します。この引数を名前空間名とともに使用して、キャッシュサーバー上のデータを分割します。例えば、異なるプロジェクトや Unity バージョンのキャッシュデータを分離します。 例 スペースを含むプレフィックスは、二重引用符 ( 設定した名前は、メタデータ、アーティファクトデータ、シェーダーキャッシュデータのタイプごとにデータを分離する、キャッシュ内の最大 3 つの名前空間のプレフィックスとして使用されます。 |
| `-cacheServerEnableDownload <true | false>` |
| `-cacheServerEnableUpload <true | false>` |
| プロジェクトのロード中に Unity が Accelerator Cache Server への接続を待機する時間をミリ秒単位で指定します。この時間が経過すると、プロジェクトの初期更新が開始されます。 例 |
| 保留中の Accelerator Cache Server のアップロードが完了するまで Unity を閉じないようにします。これは、Accelerator をコマンドライン引数 |
| 個々の Accelerator Cache Server のダウンロードバッチのアーティファクトの数を設定します。ダウンロードバッチは、個々のダウンロードを大きなバッチにグループ化してダウンロード操作の数を減らすために使用される最適化です。 例 デフォルト値は |
| Unity が新しいインポートを Accelerator Cache Server にアップロードし始めたときに、以前にアップロードされていない既存のインポートをアップロードします。以前にアップロードされたインポートは再アップロードされません。 |
| Unity が新しいインポートを Accelerator Cache Server にアップロードし始めたときに、アセットデータベースに既知の以前のすべてのリビジョンを含め、以前にアップロードされていない既存のインポートをアップロードします。以前にアップロードされたインポートリビジョンは再アップロードされません。 |
| Unity が新しいインポートを Accelerator Cache Server にアップロードし始めたときに、以前にアップロードされていない既存のシェーダーキャッシュのインポートをアップロードします。以前にアップロードされたシェーダーインポートは再アップロードされません。 |
デバッグ引数
コマンド | 詳細 |
|---|---|
| デバッガーのリッスンソケットを無効にします。 |
| Unity は、シェーダーコンパイラーのインスタンスを 1 つだけ起動し、そのタイムアウトを強制的に 1 時間にします。シェーダーコンパイラーの問題をデバッグするのに便利です。 |
| デバッグコード最適化モードを有効にし、セッションの現在のデフォルトコード最適化モードをオーバーライドします。 |
| コードカバレッジを有効にし、Coverage API へのアクセスを可能にします。 |
| DX12 検証レイヤーを有効にします。これは、XR プラグインやネイティブプラグインの作業に役立ちます。 |
| DX12 GPU ベースの検証を有効にします。これは、XR プラグインやネイティブプラグインの作業に役立ちます。 |
| Vulkan 検証レイヤーを有効にします。これは、XR プラグインやネイティブプラグインの作業に役立ちます。 |
| 詳細なデバッグを可能にします。すべての設定で None、Script Only、Full が選択可能です (例えば、 |
| エディターを閉じるときに、Unity エディターのメインログファイルに詳細なメモリとパフォーマンスのレポートを追加します。 |
グラフィックス API 引数
Unity エディターに特定のグラフィックス API の使用を強制するには、以下の引数を使用します。
コマンド | 詳細 |
|---|---|
| レンダリングに Direct3D 11 を使用します。通常、グラフィックス API は Player Settings の値に依存します (通常、デフォルトは D3D11 です)。 |
| レンダリングに Direct3D 12 を使用します。通常、グラフィックス API は Player Settings の値に依存します。 |
| 古い機能の OpenGL バックエンドを使用します。 |
| レンダリングに OpenGL 3/4 コアプロファイルを使用します。エディターは、利用可能でベストな OpenGL バージョンと、OpenGL ドライバーによって公開されているすべての OpenGL 拡張の利用を試みます。そのプラットフォームがサポートされていない場合は、Direct3D を使用します。 |
| |
| レンダリングに OpenGL for Embedded Systems を使用します。エディターは、利用可能でベストな OpenGL ES バージョンと、OpenGL ドライバーによって公開されているすべての OpenGL ES 拡張の利用を試みます。 |
| |
| レンダリングに Vulkan を使用します。通常、グラフィックス API は Player Settings の値に依存します。 |
| |
ライセンス引数
Unity ライセンスを処理したり、異なるライセンスオプションで Unity エディターを実行したりするには、以下の引数を使用します。
コマンド | 詳細 |
|---|---|
| Unity ライセンスを手動でアクティベートするための 3 段階のプロセス のステップ 1。詳細については、コマンドラインからライセンスアクティベーションファイル (.alf) を生成 を参照してください。 |
| Unity ライセンスを手動でアクティベートするための 3 段階のプロセス のステップ 3。詳細については、コマンドラインからライセンスアクティベーションファイル (.alf) を生成 を参照してください。 |
| 現在アクティブなシリアルベースライセンスまたは指名ユーザーライセンスを返却します。フローティングライセンスの返却に |
| 有料の Unity ライセンスをアクティベートします。シリアルベースライセンスのアクティベート、または指名ユーザーライセンスとそのシリアルキーの同時アクティベートを行うには、ノート: |
Metal 引数 (macOS のみ)
Unity による Apple デバイスでの Metal グラフィックス API の使用を設定するには、以下の引数を使用します。
コマンド | 詳細 |
|---|---|
| Metal を使用する場合に、GPU のインデックスを渡すことによって、エディターに特定の GPU デバイスを使用させます(macOS のみ)。 |
| Metal を使用する場合に、低消費電力のデバイスを使用させます。 |
| デフォルトのグラフィックス API として Metal を使用させます(macOS のみ)。 |
| Metal キャプチャをエディター内から取得できるようにします。 |
プロファイラー引数
Unity による Profiler の使用を設定するには、以下の引数を使用します。
コマンド | 詳細 |
|---|---|
| CPU プロファイラー の Deep Profiling オプションを有効にします。 |
| プレイヤーやエディターの起動をプロファイリングします。プレイヤーでこの引数を使用すると、Build Profiles で Autoconnect Profiler オプションを有効にしてプレイヤーをビルドするのと同じ効果があります。 エディターでこの引数を使用すると、エディターの起動時に Profiler ウィンドウでプロファイラー情報の収集と表示を開始します。 |
| この引数は、起動時にプロファイルデータを .raw ファイルに送信するように Unity プロファイラー を設定します。プレイヤーとエディターの両方で使用できます。 |
| この引数は、起動時に .raw ファイルに送信する場合に、プロファイラーがプロファイルでキャプチャするフレーム数を設定します。プレイヤーでのみ機能します。 |
| デフォルトでは、Unity Profiler の |
Unity エディターの特別なコマンドライン引数
これらの引数は、特殊な環境下または Unity サポートから指示されたときのみ使用してください。
コマンド | 詳細 |
|---|---|
| Unity のより新しい互換性がないバージョンで作成したアセットがあり、現在使用している Unity のバージョンに合わせてダウングレードしたい場合に使用します。 これを有効にすると、ダウングレードを必要とするプロジェクトを開こうとするとき、ダウングレードの確認を求めるダイアログボックスを表示します。 注意この手順はサポートされていないためリスクが高く、最後の手段としてのみ使ってください。 |
| これを使用して、グローバルイルミネーション (GI) キャッシュ フォルダーのカスタムの場所を設定します。 注意エディターを閉じると、 |
Unity Hub の特別なコマンドライン引数
これらの引数は、特殊な環境下または Unity サポートから指示されたときのみ使用してください。これらの引数は、デフォルトで Unity Hub を使用しないバージョンの Unity エディターで使用されます。
コマンド | 詳細 |
|---|---|
| Hub インテグレーションで Unity エディターを起動します。 |
| Unity エディターと Unity Hub 間の通信とインタラクションを可能にします。 |
| Unity Hub セッションの固有の識別子を指定します。 |
サポートされているすべてのバージョンの Unity エディターでは、これらの引数はすでにデフォルトで設定されています。
パッケージからの追加エディター引数
これらのパッケージをインストールすると、追加のエディターコマンドライン引数が利用可能になります。
パッケージ | 詳細 |
|---|---|
| Burst | 詳細については、Burst パッケージのドキュメントを参照してください。 |
| Test Framework | 詳細については、Unity Test Framework パッケージのドキュメントを参照してください。 |
| Code Coverage | 詳細については、Code Coverage パッケージのドキュメントを参照してください。 |
起動時にメソッドを実行するスクリプトの例
コマンドラインを使用して、起動時にプロジェクトの C# スクリプトから特定のメソッドを実行できます。以下の例は、C# スクリプトと、起動時にそのスクリプトからメソッドを実行するコマンドライン引数を示しています。
プロジェクトの C# スクリプトの例:
using UnityEditor;class MyEditorScript{ static void PerformBuild () { BuildPlayerOptions buildPlayerOptions = new BuildPlayerOptions(); buildPlayerOptions.scenes = new[] { "Assets/Scene1.unity", "Assets/Scene2.unity" }; BuildPipeline.BuildPlayer(buildPlayerOptions); }}
以下のコマンドは、Unity をバッチモードで実行し、上記のスクリプトから メソッドを実行し、完了時に終了します。
MyEditorScript.PerformBuild**Windows: **
"C:\Program Files\Unity\Hub\Editor\<version>\Editor\Unity.exe" -quit -batchmode -projectPath "C:\Users\UserName\Documents\MyProject" -executeMethodMyEditorScript.PerformBuild
macOS:
/Applications/Unity/Hub/Editor/<version>/Unity.app/Contents/MacOS/Unity -quit -batchmode -projectPath ~/UnityProjects/MyProject -executeMethodMyEditorScript.PerformBuild
注意エディターのパスで、 を起動する Unity のバージョンに置き換えてください。Unity エディターのパスがデフォルトでない場合は、パスを完全に置き換えてください。
<version>