Version: 2022.3
言語: 日本語
Unity を Windows アプリケーションに統合
Windows 用の開発

Windows Player settings

This page details the Player settings specific to Windows. For a description of the general Player settings, see Player Settings.

MacOS Player settings
MacOS Player settings

以下のセクションのプロパティが説明されています。

Icon

デスクトップゲームにカスタムアイコンを割り当てるには、Override for Windows, Mac, Linux 設定を有効にします。それぞれの四角に合ったさまざまなサイズのアイコンをアップロードできます。

Icon settings for the desktop platforms
Icon settings for the desktop platforms

Resolution and Presentation

Resolution and Presentation (解像度と表示) セクションの ResolutionStandalone Player Options を使用して、画面の表示をカスタマイズします。

Resolution

このセクションでは、スクリーンモードとデフォルトサイズをカスタマイズできます。

Resolution section for the Desktop Player platforms
Resolution section for the Desktop Player platforms
プロパティ 説明 
Fullscreen Mode 全画面のモードを選択します。起動時のデフォルトの画面モードを定義します。
Fullscreen Window アプリケーションのウィンドウを、全画面ネイティブディスプレイ解像度に設定し、画面全体を覆うようにします。このモードは、ボーダレスフルスクリーンとも呼ばれます。Unity は、アプリケーションのコンテンツを、スクリプトで設定された解像度 (あるいは、何も設定されていない場合はネイティブディスプレイの解像度) でレンダリングし、ウィンドウいっぱいになるようにスケール (拡大縮小) します。スケール時には、コンテンツが引き伸ばされないように、ディスプレイのアスペクト比に合わせてレンダリング出力に黒帯が追加されます。この処理は レターボックス と呼ばれます。OS のオーバーレイ UI はフルスクリーンウィンドウの上に表示されます (IME 入力ウィンドウなど)。このモードは全てのプラットフォームでサポートされています。
Exclusive Fullscreen (Windows only) アプリケーションが、1 つのディスプレイの全画面の独占使用を維持するように設定します。このモードは Fullscreen Window とは異なり、アプリケーションの選択解像度に合わせてディスプレイの OS 解像度を変更します。このオプションは Windows でのみサポートされます。
Maximized Window (Mac only) アプリケーションのウィンドウを、オペレーティングシステムの Maximized の定義に合わせて設定します。macOS では、これは通常、フルスクリーンウィンドウで、メニューバーとドックが非表示の状態です。このオプションは macOS でのみサポートされています。他のプラットフォームでは Fullscreen Window がデフォルト設定です。
Windowed アプリケーション画面を、標準の、全画面表示ではない移動可能なウィンドウに設定します。ウィンドウサイズはアプリケーションの解像度に依存します。このモードでは、ウィンドウはデフォルトでサイズ変更可能になっています。Resizable Window 設定でこれを無効にできます。この全画面モードは、全てのデスクトッププラットフォームでサポートされています。
Default Is Native Resolution ターゲットマシンで使用されているデフォルト解像度をゲームに使用する場合は有効にしてください。Fullscreen ModeWindowed に設定されている場合は、このオプションは使用できません。
Default Screen Width ゲーム画面のデフォルトの幅をピクセル単位で設定します。このオプションは、Full Screen ModeWindowed に設定されている場合にのみ使用できます。
Default Screen Height ゲーム画面のデフォルトの高さをピクセル単位で設定します。このオプションは、Full Screen ModeWindowed に設定されている場合にのみ使用できます。
Mac Retina Support Mac で高 DPI (Retina) 画面をサポートするには、このオプションを有効にしてください。Unity はこれをデフォルトで有効に設定します。有効にすると Retina ディスプレイのプロジェクトの質が向上しますが、リソースの負荷が若干高くなります。
Run In background このオプションを有効にすると、アプリケーションがフォーカスを失った場合に、ゲームが一時停止せず、実行され続けます。

Standalone Player Options

このセクションでは、ユーザーが画面をカスタマイズする方法を指定できます。例えば、ユーザーが画面のサイズを変更できるかどうか、同時に実行できるインスタンスの数を決定できます。

スタンドアロンプレイヤープラットフォームの Standalone Player Option 設定
スタンドアロンプレイヤープラットフォームの Standalone Player Option 設定
プロパティ 機能
Capture Single Screen Enable this option to ensure standalone games in Fullscreen Mode do not darken the secondary monitor in multi-monitor setups.
Use Player Log Enable this option to write a log file with debugging information. Defaults to enabled.
Resizable Window Enable this option to allow resizing of the desktop player window.
Note: If you disable this option, your application can’t use the Windowed Fullscreen Mode.
Visible in Background これを有効にすると、Windows で Fullscreen ModeWindowed が使用されている場合に、アプリケーションを背景で表示します。
Allow FullScreen Switch これを有効にすると、デフォルトの全画面キーを押して全画面のモードと Windowed モードを切り替えることができます。
Force Single Instance これを有効にすると、デスクトッププレイヤーを 1 つの同時実行インスタンスに制限できます。
Use DXGI flip model swap chain for D3D11 Using the flip model ensures the best performance. This setting affects the D3D11 graphics API. Disable this option to fall back to the Windows 7-style BitBlt model. For more information, see PlayerSettings.useFlipModelSwapchain.

Splash Image

Virtual Reality Splash Image 設定を使用して、VR ディスプレイのカスタムスプラッシュ画像を指定します。一般的なスプラッシュスクリーン の設定については、スプラッシュスクリーン を参照してください。

Splash Image Player settings for desktop platforms
Splash Image Player settings for desktop platforms

Other Settings (その他の設定)

このセクションでは、以下のグループに分類されたさまざまなオプションをカスタマイズできます。

Rendering

これらの設定を使用して、iOS プラットフォーム用のゲームのレンダリング方法をカスタマイズします。

Rendering Player settings for desktop platforms
Rendering Player settings for desktop platforms
プロパティ 機能
Color Space レンダリングに GammaLinear どちらの色空間を使用するかを選択します。
2 つの色空間の違いについては リニアレンダリングの概要 を参照してください。
Auto Graphics API for Windows これを有効にすると、ゲームが実行されている Windows マシンで最高のグラフィックス API を使用できます。これを無効にすると、サポートされているグラフィックス API を追加したり削除したりできます。
Auto Graphics API for Mac Enable this option to use the best Graphics API on the Mac the game is running on. Disable it to add and remove supported Graphics APIs. Windows does not support this property.
Auto Graphics API for Linux これを有効にすると、ゲームが実行されている Linux マシンで最高のグラフィックス API を使用できます。これを無効にすると、サポートされているグラフィックス API を追加したり削除したりできます。
Color Gamut for Mac You can add or remove color gamuts for the Mac platform to use for rendering. Click the plus (+) icon to see a list of available gamuts. A color gamut defines a possible range of colors available for a given device (such as a monitor or screen). The sRGB gamut is the default (and required) gamut. Windows does not support this property.
Metal API Validation シェーダーの問題をデバッグする必要がある場合は、このオプションを有効にします。
ノート 検証は CPU 使用率を増加させます。そのため、デバッグにのみ使用してください。
Metal Write-Only Backbuffer デフォルトではないデバイスの向きでパフォーマンスを向上させます。これにより、バックバッファに frameBufferOnly フラグを設定します。これは、バックバッファからの読み直しを防ぎますが、ドライバ-の最適化が可能になることもあります。
Memoryless Depth いつ メモリレスレンダーテクスチャ を使用するかを選択します。メモリレスレンダーテクスチャはレンダリング時に、CPU や GPU メモリではなく、タイル上のメモリに一時的に格納されます。これにより、アプリケーションのメモリ使用量が削減されますが、これらのレンダーテクスチャを読み書きすることはできません。
ノート メモリレスレンダーテクスチャは、iOS、tvOS 10.0以降、Metal、Vulkan でのみサポートされます。レンダーテクスチャは読み取り/書き込み保護され、他のプラットフォームの CPU や GPU メモリに保存されます。
Unused メモリレスフレームバッファ深度を決して使用しません。
Forced 常にメモリレスフレームバッファ深度を使用します。
Automatic メモリレスフレームバッファ深度をいつ使用するかは Unity が決定します。
Static Batching このオプションを有効にして、静的バッチ処理を行います。
Dynamic Batching ビルドで 動的バッチング を使用するには、これを有効にします (デフォルトでは有効)。
ノート 動的バッチングは、スクリプタブルレンダーパイプライン がアクティブな場合は効力がありません。そのため、この設定は、Graphics 設定の Scriptable Render Pipeline Asset で何も設定されていない場合にのみ表示されます。
Compute Skinning Enable this option to enable DX11/DX12/ES3 GPU compute skinning, freeing up CPU resources.
Graphics Jobs これを有効にすると、Unity がグラフィックスタスク (レンダリングのループ) を他の CPU コア上で動作するワーカースレッドにオフロードします。これは、しばしばボトルネックとなるメインスレッドの Camera.Render で費やされる時間を短縮するためのものです。
Lightmap Encoding ライトマップのエンコードを設定するには、Normal QualityHigh Quality を選択します。この設定は、ライトマップのエンコードスキームと圧縮形式に影響します。
HDR Cubemap Encoding HDR キューブマップのエンコードを設定するには、Low QualityNormal QualityHigh Quality のいずれかを選択します。この設定は、HDR キューブマップのエンコードスキームと圧縮形式に影響します。
Lightmap Streaming ライトマップに Mipmap Streaming を使用するかどうかを設定します。Unity は、ライトマップを生成するときに、この設定をすべてのライトマップに適用します。
ノート: この設定を使用するには、Texture Streaming Quality 設定を有効にする必要があります。
Streaming Priority ミップマップストリーミングシステム のすべてのライトマップの優先順位を設定します。Unity は優先順位の値を生成すると、その設定をすべてのライトマップに適用します。
正の数値が優先されます。有効な値の範囲は –128 から 127 です。
Frame Timing Stats このプロパティを有効にすると、CPU と GPU のフレームタイム統計が収集されます。このプロパティを 動的解像度 のカメラ設定と合わせて使用することで、アプリケーションが CPU と GPU のどちらに依存しているかを判断できます。
Use Display In HDR Mode (Windows Only) このチェックボックスを有効にすると、実行時にゲームが自動的に HDR (ハイダイナミックレンジ) モード出力に切り替わります。これは、この機能をサポートするディスプレイでのみ機能します。ディスプレイが HDR モードをサポートしない場合、ゲームは標準モードで実行されます。
Swap Chain Bit Depth スワップチェーンバッファの各色チャンネルのビット数を選択します。HDR (ハイダイナミックレンジ) モードが有効な場合にのみ使用可能です。
Bit Depth 10 Unity は、R10G10B10A2 バッファ形式と ST2084 PQ エンコードの Rec2020 プライマリを使用します。
Bit Depth 16 Unity は R16G16B16A16 バッファ形式とリニア色の Rec709 プライマリ (エンコード無し) を使用します。
Load/Store Action Debug Mode ビルドしたアプリケーションでレンダリングの問題を引き起こす可能性のある未定義のピクセルをハイライト表示します。ハイライトは、ゲームビュー、または、ビルド設定で Development Build を選択してビルドされたアプリケーションにのみ表示されます。LoadStoreActionDebugModeSettings を参照してください。
Editor Only ゲームビューで未定義のピクセルをハイライトしますが、ビルドしたアプリケーションではハイライトしません。

Vulkan Settings

Vulkan Player settings for macOS.

プロパティ 説明
SRGB Write Mode このオプションを有効にすると、Graphics.SetSRGBWrite() レンダラーが、ランタイム中に sRGB 書き込みモードを切り替えられるようになります。つまり、リニアから sRGB への書き込み色変換を一時的にオフにしたい場合は、このプロパティを使用してそれを行えます。有効にした場合、モバイルのタイルベース GPU のパフォーマンスに悪影響を与えるので、モバイルでは有効にしないでください。
Number of swapchain buffers このオプションを 2 に設定するとダブルバッファリング、3 に設定するとトリプルバッファリングが、Vulkan レンダラーに使用されます。この設定は、一部のプラットフォームでは待ち時間の改善に役立つ場合がありますが、ほとんどの場合はデフォルト値の 3 のままにすることが推奨されます。ダブルバッファリングはパフォーマンスに悪影響を及ぼす可能性があります。Android ではこの設定は使用しないでください。
Acquire swapchain image late as possible 有効にすると、Vulkan は、バックバッファの取得を遅らせ、フレームをオフスクリーン画像にレンダリングした後でそれを行います。Vulkan は、ステージング画像を使用してこれを行います。この設定を有効にすると、バックバッファを表示する時に Blit が 1 つ追加で発生します。この設定とダブルバッファリングを組み合わせることで、パフォーマンスを向上させることができます。ただし、追加の Blit が帯域幅を使用するため、パフォーマンスの問題を引き起こす可能性もあります。
Recycle command buffers Unity が CommandBuffers を実行した後に、それを再利用するか解放するか指定します。

Configuration

デスクトッププラットフォームの Configuration 設定
デスクトッププラットフォームの Configuration 設定
プロパティ 説明
スクリプティングバックエンド 使用するスクリプティングバックエンドを選択します。スクリプトバックエンドは、Unity が Project 内の C# コードをどのようにコンパイルし、実行するかを決定します。
Mono C# コードを .NET 共通中間言語 (CIL) にコンパイルし、共通言語ランタイムを使用して CIL を実行します。詳細は Mono を参照してください。
IL2CPP C# コードを CIL にコンパイルし、CIL を C++ に変換し、その C++ をネイティブマシンコードにコンパイルします。これがランタイムで直接実行されます。詳細は IL2CPP を参照してください。
API Compatibility Level プロジェクトで使用可能にする .NET API を選択します。この設定は、サードパーティのライブラリとの互換性に影響する可能性があります。ただし、エディター固有のコード (エディターディレクトリ内のコードや、エディター固有のアセンブリ定義内のコード) には影響しません。

ヒント: サードパーティのアセンブリに問題がある場合は、以下の API Compatibility Level セクションに提案されている方法を試してみてください。
.Net Standard 2.1 NET Standard 2.1 と互換性があります。より小さなビルドを生成し、完全なクロスプラットフォームサポートを提供します。
.Net Framework .NET Framework 4 との互換性があります。(.NET Framework 4 には、.NET Standard 2.0 プロファイルの全要素に加え、追加 API が含まれています。) .NET Standard 2.0 に含まれない API にアクセスするライブラリを使用する場合は、このオプションを選択してください。これを使用すると、より大きなビルドが生成されます。また、追加 API は、必ずしも全てのプラットフォームでサポートされるわけではありません。詳細は、追加のクラスライブラリアセンブリの参照 を参照してください。
IL2CPP Code Generation Unity が IL2CPP コード生成を管理する方法を定義します。このオプションは、IL2CPP スクリプトバックエンドを使用する場合にのみ使用できます。
Faster runtime ランタイムのパフォーマンス用に最適化されたコードを生成します。この設定はデフォルトで有効になっています。
Faster (smaller) builds ビルドサイズとイテレーションに重点を置いて最適化されたコードを生成します。生成されるコードが少なくなり、ビルドも小さくなりますが、汎用コードに関してランタイムのパフォーマンスが低下する場合があります。このオプションは、変更を加えて反復処理を行う場合など、ビルド時間の短縮が重要な場合に使用してください。
C++ Compiler Configuration IL2CPP で生成されたコードのコンパイル時に使用する C++ コンパイラーの設定を選択します。
ノート: このプロパティは、 Scripting BackendIL2CPP に設定されている場合以外は無効になります。
Use incremental GC インクリメンタルガベージコレクターを使用します。これは、ガベージコレクションを複数のフレームに分散させることで、フレーム持続時間中の、ガベージコレクション関連のスパイクを減らすものです。詳細は Automatic Memory Management を参照してください。
Allow downloads over HTTP HTTP 経由でのコンテンツのダウンロードを許可するかどうか指定します。選択可能なオプションは Not allowedAllowed in Development builds onlyAlways allowed です。デフォルトのオプションは Not allowed です。これは、より安全なプロトコルである HTTPS が推奨されるためです。
Active Input Handling ユーザーからの入力をどのように処理するか選択します。
Input Manager (old) デフォルトの Input ウィンドウを使用します。
Input System Package (New) 新しい Input システムを使用します。新しい Input System の使用を試すには、InputSystem パッケージ をインストールしてください。
Both Use both systems side by side.

API Compatibility Level

すべてのターゲットに対する Mono の API Compatibility Level (API 互換性レベル) を選択できます。時にはサードパーティ製の .NET ライブラリが、.NET 互換性レベル外の機能を使用することがあります。そのような場合に何が起きているか理解し、最良の修正処理を行うためには、以下を試みると良いでしょう。

  1. Windows 用 ILSpy をインストールします。
  2. Drag the .NET assemblies for the API compatilibity level that you are having issues with into ILSpy. You can find these under Frameworks/Mono/lib/mono/YOURSUBSET/.
  3. サードパーティ製のアセンブリをドラッグします。
  4. サードパーティ製のアセンブリを右クリックし、Analyze を選択します。
  5. 分析レポートの中で、Depends on セクションを調べます。サードパーティ製品依存でありながら、選択した .NET 互換性レベルで対応しないものはすべてここで赤字でハイライトされます。

Shader Variant Loading

これらの設定を使用して、ランタイムにシェーダーが使用するメモリの量を制御します。

設定 説明 
Default chunk size (MB) 全てのプラットフォームに対して、ビルドされたアプリケーション内に Unity が保存する圧縮シェーダーバリアントデータチャンクの最大サイズを設定します。デフォルトは 16 です。詳細は シェーダーロード を参照してください。
Default chunk count 全てのプラットフォームに対して、Unity がメモリに保持する解凍チャンク数のデフォルト制限を設定します。デフォルトは 0 で、これは制限がないことを意味します。
Override このビルドターゲットの Default chunk sizeDefault chunk count のオーバーライドを有効にします。
Chunk size (MB) このビルドターゲットの Default chunk size (MB) の値をオーバーライドします。
Chunk count このビルドターゲットの Default chunk count の値をオーバーライドします。

Script Compilation

デスクトッププラットフォーム用の Script Compilation 設定
デスクトッププラットフォーム用の Script Compilation 設定
設定 機能
Scripting Define Symbols カスタムコンパイルフラグを設定します。詳細は、プラットフォーム依存コンパイル のドキュメントを参照してください。
Additional Compiler Arguments このリストにエントリーを追加して、Roslyn コンパイラーに追加の引数を渡します。追加の引数ごとに 1 つの新しいエントリーを使用します。
新しいエントリーを作成するには、 ‘+’ ボタンを押します。エントリーを削除するには、 ‘-’ ボタンを押します。
必要な引数をすべて追加したら、Apply ボタンをクリックして、追加した引数を今後のコンパイルに加えることができます。 Revert ボタンは、このリストを最近適用された状態にリセットします。
Suppress Common Warnings C#の警告 CS0169CS0649 を表示するには、この設定を無効にします。
Allow ‘unsafe’ Code 事前に定義されたアセンブリ (例えば Assembly-CSharp.dll) の ‘unsafe’ C# code をコンパイルするサポートを有効にします。
アセンブリ定義ファイル (.asmdef) の場合、.asmdef ファイルの 1 つをクリックし、表示されたインスペクターウィンドウでオプションを有効にします。
Use Deterministic Compilation この設定を無効にすると、-deterministic C# フラグでのコンパイルができなくなります。この設定を有効にすると、コンパイルされたアセンブリは、コンパイルされるたびにバイト単位で同一になります。
詳細については、Microsoft の コード生成を制御する C# コンパイラ オプション を参照してください。
Enable Roslyn Analyzers この設定を無効にすると、プロジェクト内に存在する可能性のある Roslyn アナライザー DLL を使用せずに、ユーザーが作成したスクリプトをコンパイルします。

Optimization

Optimization settings for desktop platforms
Optimization settings for desktop platforms
プロパティ 説明
Prebake Collision Meshes ビルド時間に メッシュ に衝突データを追加します。
Keep Loaded Shaders Alive Indicates whether to prevent shaders from being unloaded.

For more information, see Shader Loading.
Preloaded Assets プレイヤーが起動時にロードするアセットの配列を設定します。
新しいアセットを追加するには、Size プロパティの値を大きくしてから、新しく表示された Element ボックス内に、ロードするアセットへの参照を設定してください。
AOT compilation options Additional options for Ahead of Time (AOT) compilation. This helps optimize the size of the built iOS player.
Strip Engine Code Enable this option if you want the Unity Linker tool to remove code for Unity Engine features that your Project doesn’t use. This setting is only available with the IL2CPP scripting backend.

Most apps don’t use every available DLL. This option strips out DLLs that your app doesn’t use to reduce the size of the built Player. If your app is using one or more classes that would normally be stripped out under your current settings, Unity displays a debug message when you try to build the app.
Managed Stripping Level 未使用のマネージ (C#) コードを Unity がどの程度積極的に除去するかを選択します。提供されているオプションは、MinimalLowMediumHigh です。
アプリケーションのビルド時に、Unity リンカーの処理によって、プロジェクトの使用するマネージ DLL から、使用されていないコードを取り除くことができます。コードを取り除くと、実行ファイルのサイズが大幅に小さくなりますが、使用されているコードが誤って削除されることがあります。

これらのオプションと、IL2CPP によるバイトコードストリッピングに関する詳細は、ManagedStrippingLevel を参照してください。
Vertex Compression チャンネルごとの頂点圧縮を設定します。これはプロジェクト内の全てのメッシュに影響します。
通常は、Vertex Compression は、メモリ上のメッシュデータのサイズを縮小して、ファイルサイズを縮小し、GPU パフォーマンスを向上させるために使用されます。

頂点圧縮の設定方法と、この設定の制限に関する詳細は、メッシュデータの圧縮 を参照してください。
Optimize Mesh Data このオプションを有効にすると、ビルドに使用されているメッシュから、使用されていない頂点属性が取り除かれます。このオプションはメッシュ内のデータ量を削減し、ビルドサイズ、ロード時間、およびランタイムメモリ使用量の削減に役立ちます。

注意: この設定を有効にした場合は、マテリアルやシェーダーの設定をランタイムに変更しないようにしてください。

詳細は PlayerSettings.stripUnusedMeshComponents を参照してください。
Texture MipMap Stripping 全てのプラットフォームでミップマップストリッピングを有効にします。これにより、ビルド時に、使用されていないミップマップがテクスチャから取り除かれます。Unity は、ミップマップの値を現在のプラットフォームの Quality Settings と比較することによって、使用されていないミップマップを特定します。ミップマップの値が現在のプラットフォームの全ての Quality Setting から除外されている場合は、Unity は、ビルド時にそれらのミップマップをビルドから削除します。QualitySettings.masterTextureLimit に、取り除かれたミップマップ値が設定されている場合、Unity は、取り除かれていない最も近いミップマップ値をそこに設定します。

Logging

スタンドアロンプレイヤープラットフォームの Logging 設定
スタンドアロンプレイヤープラットフォームの Logging 設定
  • 必要なロギングのタイプに基づいて各ログタイプ (ErrorAssertWarningLogException) に対応するオプションを有効にして、好みのスタックトレース方法を設定します。
    • ScriptOnly: スクリプト実行時にのみログを記録します。
    • Full: 常にログを記録します。
    • None: ログは記録されません。

詳しくは、スタックトレースロギング を参照してください。

Legacy

Legacy settings for desktop platforms
Legacy settings for desktop platforms
プロパティ 機能
Clamp BlendShapes (Deprecated) これを有効にすると、SkinnedMeshRenderers でブレンドシェイプのウェイトの範囲を固定できます。
Unity を Windows アプリケーションに統合
Windows 用の開発