Version: 2021.3
言語: 日本語
Unity エディターのコマンドライン引数
バッチモードとビルトインコルーチンの互換性

Unity スタンドアロンプレイヤーのコマンドライン引数

コマンドラインから Unity Player を起動し、引数を渡すことで、プレイヤーの実行方法を変更することができます。これらの引数は、このページで他のプラットフォーム要件が指定されていない限り、すべてのスタンドアロンのプラットフォームで動作します。

コマンド 詳細
-batchmode アプリケーションを “ヘッドレス” モードで実行します。このモードでは、アプリケーションは何も表示しないか、または、ユーザー入力を受けつけません。これは ネットワークアプリケーション のサーバーを実行するのに役立ちます。
-disable-gpu-skinning 起動時の GPU (Graphics Processing Unit) スキニングを無効にします。
-force-clamped -force-glcoreXY と一緒に使用することにより、追加された OpenGL 拡張の確認を避けることができます。これにより、アプリケーションを同じコードパスで複数のプラットフォーム間で実行することが可能になります。
-force-d3d11-singlethreaded D3D11_CREATE_DEVICE_SINGLETHREADEDフラグで、DirectX 11.0 を強制的に作成します。
-force-device-index GPU のインデックスを渡すことによって、スタンドアロンプレイヤーに特定の GPU デバイスを使用させます。このオプションは D3D11、D3D12、Metal、Vulkan のグラフィックス API によってサポートされますが、OpenGL ではサポートされません。
-force-glcore レンダリングに OpenGL コアプロファイルを使用するよう、アプリケーションに強制します。 エディターは、もっとも新しい利用可能な OpenGL バージョン、および、OpenGL ドライバーによってアクセス可能なすべての OpenGL 拡張機能の使用を試みます。プラットフォームが OpenGL をサポートしない場合、Unity は Direct3D を使用します。
-force-glcoreXY -force-glcore と似ていますが、特定のOpenGLコンテキストバージョンを要求します。XYで受け入れられる値:32、33、40、41、42、43、44、または45。
-force-vulkan アプリケーションがレンダリングに Vulkan を使用することを強制します。
-force-wayland (Linux のみ) Linux プレイヤーを実行するときに、実験的な Wayland サポートをアクティベートします。
-monitor N 指定されたモニター (1 ベースのインデックス番号で示されます) 上でスタンドアロンプレイヤーを実行します。
-nographics バッチモードでこの引数を使用すると、Unity はグラフィックスデバイスを初期化しません。これにより、GPU のないマシンでも自動化されたワークフローを実行できるようになります。
-nolog 出力ログを作成しません。この引数をしない場合は、Unity は output_log.txtLog Files フォルダーに書き込み、そこに Debug.Log が出力されます。
-no-stereo-rendering ステレオレンダリングをオフにします。
-popupwindow フレームのないポップアップウィンドウとしてウィンドウを作成します。このコマンドは macOS ではサポートされていません。
-screen-fullscreen デフォルトのフルスクリーン状態をオーバーライドします。値は 0 か 1 のいずれかです。
-screen-height デフォルトの画面の高さをオーバーライドします。サポートされている解像度の整数である必要があります。
-screen-width デフォルトの画面の幅 (width) をオーバーライドします。この幅の値は、サポートされている解像度の整数である必要があります。
-screen-quality デフォルトの画面の品質をオーバーライドします。使用例としては: /path/to/myGame -screen-quality Beautiful。サポートされるオプションは、 Quality 設定 名と一致します。
-force-low-power-device (macOS のみ) スタンドアロンプレイヤーに、低消費電力のデバイスを使用させます。
-force-metal (macOS のみ) スタンドアロンプレイヤーにデフォルトのグラフィックス API として Metal を使用させます。
-force-d3d11(Windows のみ) レンダリングで Direct3D 11 を使用するようアプリケーションに強制します。
-force-d3d12 (Windows のみ) レンダリングで Direct3D 12 を使用するようアプリケーションに強制します。
-force-d3d11-flip-model (Windows のみ) Direct3D 11 を使用する場合、アプリケーションで DXGI フリップモデルスワップチェーンを使用するようアプリケーションに強制します。詳細については、PlayerSettings.useFlipModelSwapchain を参照してください。
-force-d3d11-bitblt-model (Windows のみ) Direct3D 11 を使用する場合、アプリケーションで DXGI BitBlt モデルスワップチェーンを使用するようアプリケーションに強制します。詳細については、PlayerSettings.useFlipModelSwapchain を参照してください。
--parentHWND <HWND> delayed (Windows のみ) Windows スタンドアロンアプリケーションを別のアプリケーションに埋め込みます。この引数を使用する場合は、親アプリケーションのウィンドウハンドル (‘HWND’) を Windows スタンドアロンアプリケーションに渡す必要があります。

-parentHWND 'HWND' delayed を渡すと、Unity アプリケーションは実行中に非表示になります。また、アプリケーション内の Unity のために Microsoft Developer ライブラリ から SetParent を呼び出す必要があります。Microsoft の SetParent は、Unity のウィンドウを埋め込みます。Unity のプロセスを作成するとき、Unity のウィンドウは Microsoft の STARTUPINFO 構造の一部として与えられる位置とサイズに従って作られます。

Unity ウィンドウのサイズを変更するには、Microsoft の GetWindowLongPtr 関数のGWLP_USERDATA を確認します。グラフィックスが初期化されサイズ変更が安全になると、その最低ビット数は 1 に設定されます。Unity スプラッシュスクリーンの表示が終了すると、2 番目に低いビット数が 1 に設定されます。
詳細は、ダウンロード可能なサンプル EmbeddedWindow.zip を参照してください。
-single-instance (Linux と Windows のみ) 同時に実行できるアプリケーションのインスタンスを 1 つのみにします。他のインスタンスがすでに実行されている場合に、-single-instance を使用して再度アプリケーションを起動すると、既存のものにフォーカスします。
-window-mode (Windows のみ) 全画面ウィンドウモードをオーバーライドします。使用可能な値は、exclusive または borderless です。詳細については、スタンドアロンプレイヤーの Player 設定 を参照してください。

ユニバーサル Windows プラットフォームのコマンドライン引数

ユニバーサル Windows アプリケーションは、デフォルトではコマンドライン引数を使えません。そのため、引数を渡すには、MainPage.xaml.cs/cppMainPage.cs/cpp から、例えば以下のような特別な関数を呼び出す必要があります。

appCallbacks.AddCommandLineArg("-nolog");

この関数を appCallbacks.Initialize() 関数の前に呼び出します。

コマンド 詳細
-force-d3d11-singlethreaded D3D11_CREATE_DEVICE_SINGLETHREADEDフラグで、DirectX 11.0 を強制的に作成します。
-force-driver-type-warp DirectX 11.0 ドライバータイプ WARP デバイスを強制的に使用します。詳細については、Microsoft 社のドキュメント 高度なラスタライズ プラットフォーム を参照してください。
-force-feature-level-9-3 DirectX 11.0 機能レベル 9.3 を強制します。
-force-feature-level-10-0 DirectX 11.0 機能レベル 10.0 を強制します。
-force-feature-level-10-1 DirectX 11.0 機能レベル 10.1 を強制します。
-force-feature-level-11-0 DirectX 11.0 機能レベル 11.0 を強制します。
-force-gfx-direct シングルスレッドレンダリングを強制します。
-nolog UnityPlayer.log を生成しません。
Unity エディターのコマンドライン引数
バッチモードとビルトインコルーチンの互換性