Version: 2022.3
言語: 日本語
Linux
Linux Player 設定

Linux Player 設定

このページでは、Linux プラットフォームに特化した Player 設定について説明します。一般的な Player 設定の説明は、Player 設定を参照してください。

Linux Player 設定
Linux Player 設定

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

Icon

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

デスクトッププラットフォームの Icon 設定
デスクトッププラットフォームの Icon 設定

Resolution and Presentation

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

Resolution

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

デスクトッププレイヤープラットフォームの Resolution 設定
デスクトッププレイヤープラットフォームの Resolution 設定
プロパティ 説明 
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

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

デスクトッププラットフォームの Player オプション
デスクトッププラットフォームの Player オプション
プロパティ 機能
Capture Single Screen これを有効にすると、全画面モード のデスクトップゲームで、マルチモニター設定時に補助モニターが暗くならないようにします。Mac OS X ではサポートされていません。
Use Player Log これを有効にすると、デバッグ情報を含むログファイルを作成します。デフォルトは有効です。
注意 アプリケーションを Mac App Store に提出する場合は、このオプションを無効にします。詳細は、Mac App Store へ公開 を参照してください。
Resizable Window これを有効にすると、プレイヤーウィンドウサイズを変更できます。
ノート: このオプションを無効にすると、アプリケーションは Fullscreen ModeWindowed が使用できなくなります。
Visible in Background これを有効にすると、Windows で Fullscreen Mode オプションの Windowed が使用されている場合に、アプリケーションを背景で表示します。
Allow FullScreen Switch これを有効にすると、デフォルトの全画面キーを押して全画面のモードと Windowed モードを切り替えることができます。
Force Single Instance これを有効にすると、デスクトッププレイヤーを 1 つの同時実行インスタンスに制限できます。

Splash Image

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

デスクトッププラットフォームの Splash Image Player 設定
デスクトッププラットフォームの Splash Image Player 設定

Other Settings

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

Rendering

これらの設定を使用して、デスクトップ (Windows、Mac、Linux) プラットフォーム向けにゲームをレンダリングする方法をカスタマイズします。

デスクトッププラットフォームのプレイヤーの Rendering 設定
デスクトッププラットフォームのプレイヤーの Rendering 設定
設定 機能
Color Space レンダリングに GammaLinear どちらの色空間を使用するかを選択します。
2 つの色空間の違いの説明は リニアレンダリングの概要 を参照してください。
Auto Graphics API これを有効にすると、ゲームが実行されている Linux マシンで最高のグラフィックス API を使用できます。これを無効にすると、サポートされているグラフィックス API を追加したり削除したりできます。
Color Gamut レレンダリングに使用する Android プラットフォームの 色域 を追加または削除できます。プラス (+) アイコンをクリックすると、使用可能な色域のリストが表示されます。色域は、特定のデバイス (モニターやスクリーンなど) で使用可能な色の範囲を定義します。sRGB 色域はデフォルトの (また必須の) 色域です。
広色域ディスプレイを備えた最近の tvOS デバイスをターゲットにする場合は、ディスプレイ機能を完全に利用するために DisplayP3 を使用します。古いデバイスのフォールバックとしては Metal Editor Support を使用してください。
Multithreaded Rendering これを有効にして、マルチスレッドレンダリングを使用します。これは Metal でのみサポートされています。
Static Batching このオプションを有効にして、静的バッチ処理を行います。
Dynamic Batching これを有効にして、ダイナミックバッチング をビルドに使用します (デフォルトでは有効になっています)。
Compute Skinning これを有効にすると、DX11/ES3 GPU コンピュートスキニングを使用して、CPU リソースを解放できます。
Graphics Jobs (Experimental) これを有効にすると、Unity がグラフィックスタスク (レンダリングのループ) を他の CPU コア上で動作するワーカースレッドにオフロードします。これは、しばしばボトルネックとなるメインスレッドの Camera.Render で費やされる時間を短縮するためのものです。
ノート: この機能は実験的です。プロジェクトのパフォーマンスが向上しない場合があり、クラッシュの原因になる可能性があります。
Texture compression format ASTC、ETC2、ETC (RGB には ETC1、RGBA には ETC2) から選択します。正しい形式を選択する方法については、テクスチャ圧縮形式の概要 を参照してください。
これが Build Settings のテクスチャ圧縮設定とどのように相互作用するかについて詳しくは、テクスチャ圧縮設定 を参照してください。
Normal Map Encoding XYZ または DXT5nm-style を選択して、法線マップのエンコードを設定します。DXT5nm-style 法線マップは高品質ですが、シェーダーでのデコードにコストがかかります。
Lightmap Encoding ライトマップのエンコードを設定するには、Low QualityNormal QualityHigh Quality のいずれかを選択します。この設定は、ライトマップのエンコードスキームと圧縮形式に影響します。
HDR Cubemap Encoding HDR キューブマップのエンコードを設定するには、Low QualityNormal QualityHigh Quality のいずれかを選択します。この設定は、HDR キューブマップのエンコードスキームと圧縮形式に影響します。
Lightmap Streaming Enabled ライトマップに Mipmap Streaming を使用するかどうかを設定します。Unity は、ライトマップを生成するときに、この設定をすべてのライトマップに適用します。
ノート: この設定を使用するには、Texture Streaming Quality 設定を有効にする必要があります。
Streaming Priority ミップマップストリーミングシステム のすべてのライトマップの優先順位を設定します。Unity は優先順位の値を生成すると、その設定をすべてのライトマップに適用します。
正の数値が優先されます。有効な値の範囲は –128 から 127 です。
Enable Frame Timing Stats これを有効にすると、CPU/GPUフレームタイミング統計を収集します。
Swap Chain Bit Depth スワップチェーンバッファの各色チャンネルのビット数を選択します。HDR (ハイダイナミックレンジ) モードが有効な場合にのみ使用可能です。
Bit Depth 10 Unity は、R10G10B10A2 バッファ形式と ST2084 PQ エンコードの Rec2020 プライマリを使用します。
Bit Depth 16 Unity は R16G16B16A16 バッファ形式とリニア色の Rec709 プライマリ (エンコード無し) を使用します。
Virtual Texturing 仮想テクスチャリング を有効にするかどうかを示します。
ノート: Virtual Texturing は Android と互換性がありません。
Shader precision model シェーダーで使用されるサンプラーのデフォルトの精度を制御します。詳しくは、シェーダーのデータ型と精度 を参照してください。
360 Stereo Capture Unity がステレオスコピック 360 の画像とビデオをキャプチャできるかどうかを示します。有効にすると、Unity は 360 キャプチャをサポートするために追加のシェーダーバリアントをコンパイルします (現在はWindows/OSX のみ)。有効にすると、Stereo RenderCubemap 呼び出し 中に enable_360_capture キーワードが追加されます。このキーワードは Stereo RenderCubemap 関数の外では発生しないことに注意してください。詳細は Stereo 360 Image and Video Capture を参照してください。
Load/Store Action Debug Mode ビルドしたアプリケーションでレンダリングの問題を引き起こす可能性のある未定義のピクセルをハイライト表示します。ハイライトは、ゲームビュー、または、ビルド設定で Development Build を選択してビルドされたアプリケーションにのみ表示されます。LoadStoreActionDebugModeSettings を参照してください。
Editor Only ゲームビューで未定義のピクセルをハイライトしますが、ビルドしたアプリケーションではハイライトしません。

Vulkan Settings

Linux の Vulkan Player 設定
Linux の Vulkan Player 設定
プロパティ 説明
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 を実行した後に、それを再利用するか解放するか指定します。

Mac App Store Options

Mac App Store Options
Mac App Store Options

このセクションのプロパティは、macOS にのみ関連します。詳しくは、macOS の Player 設定 を参照してください。

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.

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 の値をオーバーライドします。

API Compatibility Level

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

  1. Windows 用 ILSpy をインストールします。
  2. 問題のある API 互換性レベルの .NET アセンブリを ILSpy にドラッグします。これらは Frameworks/Mono/lib/mono/YOURSUBSET/ の下にあります。
  3. サードパーティ製のアセンブリをドラッグします。
  4. サードパーティ製のアセンブリを右クリックし、Analyze を選択します。
  5. 分析レポートの中で、Depends on セクションを調べます。サードパーティ製品依存でありながら、選択した .NET 互換性レベルで対応しないものはすべてここで赤字でハイライトされます。

Script Compilation

デスクトッププラットフォーム用の Script Compilation 設定
デスクトッププラットフォーム用の Script Compilation 設定
プロパティ 説明 
Scripting Define Symbols カスタムコンパイルフラグを設定します。

詳細は、プラットフォーム依存コンパイル を参照してください。
Additional Compiler Arguments 追加的な引数を Roslyn コンパイラーに渡すために、このリストにエントリーを追加します。追加の引数それぞれに対して新しいエントリーを 1 つ使用します。
新しいエントリーを作成するには、Add (+) をクリックしてください。エントリーを削除するには Remove (-) をクリックしてください。

全ての引数を追加し終えたら、Apply をクリックして追加的な引数を未来のコンパイルに含めます。Revert をクリックすると、このリストが最後に適用された状態にリセットされます。
Suppress Common Warnings C# の警告 CS0169 および CS0649 を表示するかどうかを示します。
Allow ‘unsafe’ Code 事前に定義されたアセンブリ (例えば Assembly-CSharp.dll) の ‘unsafe’ C# コード をコンパイルするサポートを有効にします。
アセンブリ定義ファイル (.asmdef) の場合、.asmdef ファイルの 1 つをクリックし、表示されたインスペクターウィンドウでオプションを有効にします。
Use Deterministic Compilation deterministic C# フラグでコンパイルしないようにするかどうかを指定します。この設定を有効にすると、コンパイルされたアセンブリは、コンパイルされるたびにバイト単位で同一になります。

詳細については、Microsoft の 決定論的コンパイルプション を参照してください。
Enable Roslyn Analyzers プロジェクトに存在する可能性のある Roslyn アナライザー DLL を使用せずに、ユーザーが書いたスクリプトをコンパイルするかどうかを示します。

Optimization

デスクトッププラットフォームの Oputimization 設定
デスクトッププラットフォームの Oputimization 設定
プロパティ 説明
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

デスクトッププラットフォームの古い設定
デスクトッププラットフォームの古い設定
プロパティ 機能
Clamp BlendShapes (Deprecated) これを有効にすると、SkinnedMeshRenderers でブレンドシェイプのウェイトの範囲を固定できます。
Linux
Linux Player 設定