このページでは、Windows に特化した Player 設定について説明します。一般的な Player 設定の説明については、Player 設定 を参照してください。
以下のセクションのプロパティが説明されています。
デスクトップゲームにカスタムアイコンを割り当てるには、Override for Windows, Mac, Linux 設定を有効にします。それぞれの四角に合ったさまざまなサイズのアイコンをアップロードできます。
Resolution and Presentation (解像度と表示) セクションの Resolution と Standalone Player Options を使用して、画面の表示をカスタマイズします。
このセクションでは、スクリーンモードとデフォルトサイズをカスタマイズできます。
プロパティ | 説明 | |
---|---|---|
Fullscreen Mode | 全画面のモードを選択します。起動時のデフォルトの画面モードを定義します。 | |
Fullscreen Window | アプリケーションのウィンドウを、全画面ネイティブディスプレイ解像度に設定し、画面全体を覆うようにします。このモードは、ボーダレスフルスクリーンとも呼ばれます。Unity は、アプリケーションのコンテンツを、スクリプトで設定された解像度 (あるいは、何も設定されていない場合はネイティブディスプレイの解像度) でレンダリングし、ウィンドウいっぱいになるようにスケール (拡大縮小) します。スケール時には、コンテンツが引き伸ばされないように、ディスプレイのアスペクト比に合わせてレンダリング出力に黒帯が追加されます。この処理は レターボックス と呼ばれます。OS のオーバーレイ UI はフルスクリーンウィンドウの上に表示されます (IME 入力ウィンドウなど)。このモードは全てのプラットフォームでサポートされています。 | |
Exclusive Fullscreen (Windows only) | Set your app to maintain sole full-screen use of a display. Unlike Fullscreen Window, this mode changes the OS resolution of the display to match the app’s chosen resolution. This option is only supported on Windows. | |
Maximized Window (Mac only) | アプリケーションのウィンドウを、オペレーティングシステムの Maximized の定義に合わせて設定します。macOS では、これは通常、フルスクリーンウィンドウで、メニューバーとドックが非表示の状態です。このオプションは macOS でのみサポートされています。他のプラットフォームでは Fullscreen Window がデフォルト設定です。 | |
Windowed | アプリケーション画面を、標準の、全画面表示ではない移動可能なウィンドウに設定します。ウィンドウサイズはアプリケーションの解像度に依存します。このモードでは、ウィンドウはデフォルトでサイズ変更可能になっています。Resizable Window 設定でこれを無効にできます。この全画面モードは、全てのデスクトッププラットフォームでサポートされています。 | |
Default Is Native Resolution | Enable this option to make the game use the default resolution used on the target machine. This option isn’t available if the Fullscreen Mode is set to Windowed. | |
Default Screen Width | Set the default width of the game screen in pixels. This option is only available if the Fullscreen Mode is set to Windowed. | |
Default Screen Height | Set the default height of the game screen in pixels. This option is only available if the Fullscreen Mode is set to Windowed. | |
Mac Retina Support | Mac で高 DPI (Retina) 画面をサポートするには、このオプションを有効にしてください。Unity はこれをデフォルトで有効に設定します。有効にすると Retina ディスプレイのプロジェクトの質が向上しますが、リソースの負荷が若干高くなります。 | |
Run In background | このオプションを有効にすると、アプリケーションがフォーカスを失った場合に、ゲームが一時停止せず、実行され続けます。 |
このセクションでは、ユーザーが画面をカスタマイズする方法を指定できます。例えば、ユーザーが画面のサイズを変更できるかどうか、同時に実行できるインスタンスの数を決定できます。
プロパティ | 機能 |
---|---|
Capture Single Screen | これを有効にすると、全画面モード のスタンドアロンゲームで、マルチモニター設定時に補助モニターが暗くならないようにします。 |
Use Player Log | このオプションを有効にすると、デバッグ情報を含むログファイルを書き込むことができます。デフォルトでは有効です。 |
Resizable Window | これを有効にすると、デスクトッププレイヤーウィンドウサイズを変更できます。 ノート: このオプションを無効にすると、アプリケーションは Fullscreen Mode の Windowed が使用できなくなります。 |
Visible in Background | Enable this option to display the application in the background if Windowed Fullscreen Mode is used. Note: This will prevent keyboard shortcuts that minimize the app window, for example, Alt+Tab and Windows+M, from functioning. See PlayerSettings.visibleInBackground for more details. |
Allow FullScreen Switch | これを有効にすると、デフォルトの全画面キーを押して全画面のモードと Windowed モードを切り替えることができます。 |
Force Single Instance | これを有効にすると、デスクトッププレイヤーを 1 つの同時実行インスタンスに制限できます。 |
Use DXGI flip model swap chain for D3D11 | フリップモデルを使用すると、最高のパフォーマンスが得られます。この設定は、D3D11 グラフィックス API に影響します。このオプションを無効にすると、Windows 7 スタイルの BitBlt モデルにフォールバックします。詳細については、PlayerSettings.useFlipModelSwapchain を参照してください。 |
Virtual Reality Splash Image 設定を使用して、VR ディスプレイのカスタムスプラッシュ画像を指定します。一般的なスプラッシュスクリーン の設定については、スプラッシュスクリーン を参照してください。
このセクションでは、以下のグループに分類されたさまざまなオプションをカスタマイズできます。
これらの設定を使用して、iOS プラットフォーム用のゲームのレンダリング方法をカスタマイズします。
プロパティ | 機能 | ||
---|---|---|---|
Color Space | レンダリングに Gamma と Linear どちらの色空間を使用するかを選択します。 2 つの色空間の違いについては リニアレンダリングの概要 を参照してください。 |
||
Auto Graphics API for Windows | これを有効にすると、ゲームが実行されている Windows マシンで最高のグラフィックス API を使用できます。これを無効にすると、サポートされているグラフィックス API を追加したり削除したりできます。 | ||
Auto Graphics API for Mac | これを有効にすると、ゲームが実行されている Mac マシンで最高のグラフィックス API を使用できます。これを無効にすると、サポートされているグラフィックス API を追加したり削除したりできます。Windows は、このプロパティに対応しません。 | ||
Auto Graphics API for Linux | これを有効にすると、ゲームが実行されている Linux マシンで最高のグラフィックス API を使用できます。これを無効にすると、サポートされているグラフィックス API を追加したり削除したりできます。 | ||
Color Gamut for Mac | レンダリングに使用するスタンドアロンの Mac プラットフォームの 色域 を追加または削除できます。プラス (+) アイコンをクリックすると、使用可能な色域のリストが表示されます。色域は、特定のデバイス (モニタやスクリーンなど) で使用可能な色の範囲を定義します。sRGB 色域はデフォルトの (また必要な) 色域です。 | ||
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 | DX11/DX12/ES3 GPU コンピュートスキニングを使用するには、CPU リソースを解放します。 | ||
Graphics Jobs | これを有効にすると、Unity がグラフィックスタスク (レンダリングのループ) を他の CPU コア上で動作するワーカースレッドにオフロードします。これは、しばしばボトルネックとなるメインスレッドの Camera.Render で費やされる時間を短縮するためのものです。 |
||
Lightmap Encoding | ライトマップのエンコードを設定するには、Normal Quality か High Quality を選択します。この設定は、ライトマップのエンコードスキームと圧縮形式に影響します。 | ||
HDR Cubemap Encoding | HDR キューブマップのエンコードを設定するには、Low Quality、Normal Quality、High 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 のみ) | このチェックボックスを有効にすると、実行時にゲームが自動的に 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 | ゲームビューで未定義のピクセルをハイライトしますが、ビルドしたアプリケーションではハイライトしません。 |
プロパティ | 説明 |
---|---|
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 を実行した後に、それを再利用するか解放するか指定します。 |
プロパティ | 説明 | |
---|---|---|
スクリプティングバックエンド | 使用するスクリプティングバックエンドを選択します。スクリプトバックエンドは、Unity が Project 内の C# コードをどのようにコンパイルし、実行するかを決定します。 | |
Mono | C# コードを .NET 共通中間言語 (CIL) にコンパイルし、共通言語ランタイムを使用して CIL を実行します。詳細は Mono を参照してください。 | |
IL2CPP | Compiles C# code into CIL, converts the CIL to C++ and then compiles that C++ into native machine code, which executes directly at runtime. Refer to IL2CPP for more information. | |
API Compatibility Level | プロジェクトで使用可能にする .NET API を選択します。この設定は、サードパーティのライブラリとの互換性に影響する可能性があります。ただし、エディター固有のコード (エディターディレクトリ内のコードや、エディター固有のアセンブリ定義内のコード) には影響しません。 ヒント: サードパーティのアセンブリに問題がある場合は、以下の API Compatibility Level セクションに提案されている方法を試してみてください。 |
|
.Net Standard 2.1 | NET Standard 2.1 と互換性があります。より小さなビルドを生成し、完全なクロスプラットフォームサポートを提供します。 | |
.Net Framework | Compatible with the .NET Framework 4 (which includes everything in the .NET Standard 2.0 profile plus additional APIs). Choose this option when using libraries that access APIs not included in .NET Standard 2.0. Produces larger builds and any additional APIs available aren’t necessarily supported on all platforms. Refer to Referencing additional class library assemblies for more information. | |
IL2CPP Code Generation | Unity が IL2CPP コード生成を管理する方法を定義します。このオプションは、IL2CPP スクリプトバックエンドを使用する場合にのみ使用できます。 | |
Faster runtime | ランタイムのパフォーマンス用に最適化されたコードを生成します。この設定はデフォルトで有効になっています。 | |
Faster (smaller) builds | ビルドサイズとイテレーションに重点を置いて最適化されたコードを生成します。生成されるコードが少なくなり、ビルドも小さくなりますが、汎用コードに関してランタイムのパフォーマンスが低下する場合があります。このオプションは、変更を加えて反復処理を行う場合など、ビルド時間の短縮が重要な場合に使用してください。 | |
C++ Compiler Configuration | IL2CPP で生成されたコードのコンパイル時に使用する C++ コンパイラーの設定を選択します。 ノート: このプロパティは、 Scripting Backend が IL2CPP に設定されている場合以外は無効になります。 |
|
Use incremental GC | インクリメンタルガベージコレクターを使用します。これは、ガベージコレクションを複数のフレームに分散させることで、フレーム持続時間中の、ガベージコレクション関連のスパイクを減らすものです。詳細は Automatic Memory Management を参照してください。 | |
Allow downloads over HTTP | HTTP 経由でのコンテンツのダウンロードを許可するかどうか指定します。選択可能なオプションは Not allowed、Allowed in Development builds only、Always allowed です。デフォルトのオプションは Not allowed です。これは、より安全なプロトコルである HTTPS が推奨されるためです。 | |
Active Input Handling | ユーザーからの入力をどのように処理するか選択します。 | |
Input Manager (old) | デフォルトの Input ウィンドウを使用します。 | |
Input System Package (New) | 新しい Input システムを使用します。新しい Input System の使用を試すには、InputSystem パッケージ をインストールしてください。 | |
Both | 両方のシステムを同時に使います。 |
すべてのターゲットに対する Mono の API Compatibility Level (API 互換性レベル) を選択できます。時にはサードパーティ製の .NET ライブラリが、.NET 互換性レベル外の機能を使用することがあります。そのような場合に何が起きているか理解し、最良の修正処理を行うためには、以下を試みると良いでしょう。
Frameworks/Mono/lib/mono/YOURSUBSET/
にあります。これらの設定を使用して、ランタイムにシェーダーが使用するメモリの量を制御します。
プロパティ | 説明 |
---|---|
Default chunk size (MB) | 全てのプラットフォームに対して、ビルドされたアプリケーション内に Unity が保存する圧縮シェーダーバリアントデータチャンクの最大サイズを設定します。デフォルトは 16 です。詳細は シェーダーロード を参照してください。 |
Default chunk count | 全てのプラットフォームに対して、Unity がメモリに保持する解凍チャンク数のデフォルト制限を設定します。デフォルトは 0 で、これは制限がないことを意味します。 |
Override | このビルドターゲットの Default chunk size と Default chunk count のオーバーライドを有効にします。 |
Chunk size (MB) | このビルドターゲットの Default chunk size (MB) の値をオーバーライドします。 |
Chunk count | このビルドターゲットの Default chunk count の値をオーバーライドします。 |
設定 | 機能 |
---|---|
Scripting Define Symbols | カスタムコンパイルフラグを設定します。詳細は、プラットフォーム依存コンパイル のドキュメントを参照してください。 |
Additional Compiler Arguments | このリストにエントリーを追加して、Roslyn コンパイラーに追加の引数を渡します。追加の引数ごとに 1 つの新しいエントリーを使用します。 新しいエントリーを作成するには、 ‘+’ ボタンを押します。エントリーを削除するには、 ‘-’ ボタンを押します。 必要な引数をすべて追加したら、Apply ボタンをクリックして、追加した引数を今後のコンパイルに加えることができます。 Revert ボタンは、このリストを最近適用された状態にリセットします。 |
Suppress Common Warnings | C#の警告 CS0169 と CS0649 を表示するには、この設定を無効にします。 |
Allow ‘unsafe’ Code | 事前に定義されたアセンブリ (例えば Assembly-CSharp.dll ) の ‘unsafe’ C# code をコンパイルするサポートを有効にします。アセンブリ定義ファイル ( .asmdef ) の場合、.asmdef ファイルの 1 つをクリックし、表示されたインスペクターウィンドウでオプションを有効にします。 |
Use Deterministic Compilation | この設定を無効にすると、-deterministic C# フラグでのコンパイルができなくなります。この設定を有効にすると、コンパイルされたアセンブリは、コンパイルされるたびにバイト単位で同一になります。 詳細については、Microsoft の コード生成を制御する C# コンパイラ オプション を参照してください。 |
プロパティ | 説明 | |
---|---|---|
Prebake Collision Meshes | ビルド時間に メッシュ に衝突データを追加します。 | |
Keep Loaded Shaders Alive | シェーダーのアンロードを禁止するかどうかを示します。 詳細については、「シェーダーのロード」(shader-loading) を参照してください。 |
|
Preloaded Assets | プレイヤーが起動時にロードするアセットの配列を設定します。 新しいアセットを追加するには、Size プロパティの値を大きくしてから、新しく表示された Element ボックス内に、ロードするアセットへの参照を設定してください。 |
|
AOT compilation options | Ahead of Time (AOT) コンパイルの追加オプション。これは、ビルドした iOS プレイヤーのサイズ最適化 に役立ちます。 | |
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 がどの程度積極的に除去するかを選択します。提供されているオプションは、Minimal、Low、Medium、High です。 アプリケーションのビルド時に、Unity リンカーの処理によって、プロジェクトの使用するマネージ DLL から、使用されていないコードを取り除くことができます。コードを取り除くと、実行ファイルのサイズが大幅に小さくなりますが、使用されているコードが誤って削除されることがあります。 これらのオプションと、IL2CPP によるバイトコードストリッピングに関する詳細は、ManagedStrippingLevel を参照してください。 |
|
Vertex Compression | チャンネルごとの頂点圧縮を設定します。これはプロジェクト内の全てのメッシュに影響します。 通常は、Vertex Compression は、メモリ上のメッシュデータのサイズを縮小して、ファイルサイズを縮小し、GPU パフォーマンスを向上させるために使用されます。 頂点圧縮の設定方法と、この設定の制限に関する詳細は、メッシュデータの圧縮 を参照してください。 |
|
Optimize Mesh Data | Enable this option to strip unused vertex attributes from the mesh used in a build. This option reduces the amount of data in the mesh, which can help reduce build size, loading times, and runtime memory usage. Warning: If you have this setting enabled, you should remember to not change material or shader settings at runtime. Refer to PlayerSettings.stripUnusedMeshComponents for more information. |
|
Texture MipMap Stripping | 全てのプラットフォームでミップマップストリッピングを有効にします。これにより、ビルド時に、使用されていないミップマップがテクスチャから取り除かれます。Unity は、ミップマップの値を現在のプラットフォームの Quality Settings と比較することによって、使用されていないミップマップを特定します。ミップマップの値が現在のプラットフォームの全ての Quality Setting から除外されている場合は、Unity は、ビルド時にそれらのミップマップをビルドから削除します。QualitySettings.masterTextureLimit に、取り除かれたミップマップ値が設定されている場合、Unity は、取り除かれていない最も近いミップマップ値をそこに設定します。 |
詳しくは、スタックトレースロギング を参照してください。
プロパティ | 機能 |
---|---|
Clamp BlendShapes (Deprecated) | これを有効にすると、SkinnedMeshRenderers でブレンドシェイプのウェイトの範囲を固定できます。 |