Version: 2019.2
スタンドアロン
PC、Mac、Linux スタンドアロンのビルド設定

スタンドアロンの Player 設定

このページでは、スタンドアロンプラットフォーム (Mac OSX、Windows、Linux) に特化した Player 設定について説明します。包括的な Player 設定の説明は、Player 設定を参照してください。

スタンドアロンの Mac Player 設定
スタンドアロンの Mac Player 設定

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

Icon

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

スタンドアロンプレイヤープラットフォームの Icon 設定
スタンドアロンプレイヤープラットフォームの Icon 設定

Resolution and Presentation

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

Resolution

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

スタンドアロンプレイヤープラットフォームの Resolution 設定
スタンドアロンプレイヤープラットフォームの Resolution 設定
プロパティー 機能
Fullscreen Mode 全画面のモードを選択します。起動時のデフォルトの画面モードを定義します。
Fullscreen Window アプリケーション画面をディスプレイの全画面表示のネイティブの解像度に設定します。Unity は、スクリプトによって (または、ビルドされたアプリケーションを起動する時のユーザーの選択によって) 設定された解像度でアプリケーションコンテンツをレンダリングしますが、画面を満たすためにスケールします。スケールすると Player 設定で選択されたアスペクト比に一致させるために、黒い帯がレンダリングされた画像に加えられます。そのため、コンテンツは引き伸ばされません。この処理は レターボックス と呼ばれます。
Exclusive Fullscreen (Windows only) アプリケーション画面を全画面表示で使用するように設定します。Fullscreen Window とは異なり、このモードは、アプリケーションが選択した解像度に合わせて、ディスプレイの OS 解像度を変更します。このオプションは Windows でのみサポートされます。他のプラットフォームでは、Fullscreen Window が代替として使用されます。
Maximized Window (Mac only) オペレーティングシステムの “最大” の定義と同様の値にアプリケーション画面を設定します。つまり、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) の高い画面をサポートします。これはデフォルトで有効です。これにより、Retina ディスプレイのプロジェクトが強化されますが、リソースの負荷が高くなる場合もあります。
Run In background このオプションを有効にすると、アプリケーションがフォーカスを失った場合に、ゲームを (一時停止せずに) 実行し続けることができます。

Standalone Player Options

このセクションでは、ユーザーの画面設定方法をカスタマイズできます。例えば、スタートアップダイアログを設定 して、ユーザーが指定したアスペクト比のリストから画面解像度を設定可能にできます。また、ユーザーが画面のサイズを変更できるかどうかや、同時に実行できるインスタンス数を決定することもできます。

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

起動時の解像度ダイアログの作成

ゲームを実行する画面の解像度をユーザーが選択できるようにしたい場合は、ゲームの起動時に表示されるダイアログウィンドウを作成することができます。

Display Resolution Dialog ドロップダウンから以下の値のいずれかを選択します。

  説明
Disabled 起動時にダイアログを表示しないでください。
Enabled 起動時に画面解像度を選択するダイアログを表示します。
Hidden by Default 起動時にユーザーが Alt キーを押している場合にのみ、画面解像度を選択するダイアログを表示します。

また、カスタムのバナー画像を追加してダイアログウィンドウに表示することもできます。Splash Image セクションを開き、Application Config Dialog Banner プロパティーで使用したい画像を設定します。最大画像サイズは 432 x 163 ピクセルです。画像はスクリーンセレクターに合わせて拡大されることはありません。画像は、自動的に中心に置かれ、トリミングされます。

Splash Image

共通の Splash Screen 設定の上方で、Player 設定 ではスタンドアロンプラットフォーム用の スプラッシュ画像を指定できます。

スタンドアロンプラットフォームの Splash Image Player 設定
スタンドアロンプラットフォームの Splash Image Player 設定
プロパティー 機能
Application Config Dialog Banner 解像度のスタートアップダイアログウィンドウに表示するカスタムのスプラッシュ画像を選択します。詳細は、起動時の解像度ダイアログの作成 を参照してください。
Virtual Reality Splash Image Virtual Reality ディスプレイに表示するカスタムのスプラッシュ画像を選択します。

Other Settings (その他の設定)

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

Rendering

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

スタンドアロンプラットフォームのプレイヤーのRendering 設定
スタンドアロンプラットフォームのプレイヤーのRendering 設定
プロパティー 機能
Color Space レンダリングに GammaLinear どちらの色空間を使用するかを選択します。
2 つの色空間の違いについては リニアレンダリングの概要 を参照してください。
Auto Graphics API for Windows これを有効にすると、ゲームが実行されている Windows マシンで最高のグラフィックス API を使用できます。これを無効にすると、サポートされているグラフィックス API を追加したり削除したりできます。
Auto Graphics API for Mac これを有効にすると、ゲームが実行されている Mac マシンで最高のグラフィックス API を使用できます。これを無効にすると、サポートされているグラフィックス API を追加したり削除したりできます。
Auto Graphics API for Linux これを有効にすると、ゲームが実行されている Linux マシンで最高のグラフィックス API を使用できます。これを無効にすると、サポートされているグラフィックス API を追加したり削除したりできます。
Color Gamut for Mac レンダリングに使用するスタンドアロンの Mac プラットフォームの 色域 を追加または削除できます。プラス (+) アイコンをクリックすると、使用可能な色域のリストが表示されます。色域は、特定のデバイス (モニタやスクリーンなど) で使用可能な色の範囲を定義します。sRGB 色域はデフォルトの (また必要な) 色域です。
Metal Editor Support これを有効にすると、Metal API を Unity エディターで使用し、Metal API をターゲットとしたよりシェーダーの速いイテレーションを自在に行えます。
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 で何も設定されていない場合にのみ表示されます。
GPU Skinning DX11/ES3 GPU スキニングを使用するには、このオプションを有効にします。
Graphics Jobs (Experimental) これを有効にすると、Unity がグラフィックスタスク (レンダリングのループ) を他の CPU コア上で動作するワーカースレッドにオフロードします。これは、しばしばボトルネックとなるメインスレッドの Camera.Render で費やされる時間を短縮するためのものです。
ノート この機能は実験的です。プロジェクトのパフォーマンスが向上しない場合があり、クラッシュの原因になる可能性があります。
Lightmap Encoding ライトマップのエンコードを設定するには、Normal QualityHigh Quality を選択します。この設定は、ライトマップのエンコードスキームと圧縮形式に影響します。
Lightmap Streaming Enabled これを有効にすると、現在のゲームカメラをレンダリングするために、必要に応じてライトマップのミップマップのみを読み込みます。この値は、生成されるライトマップテクスチャに適用されます。
ノート この設定を使用するには、Texture Streaming Quality 設定を有効にする必要があります。
Streaming Priority ライトマップのミップマップストリーミングの優先順位を設定して、リソースの競合を解決します。これらの値は、ライトマップテクスチャが生成されると適用されます。
正の数値が優先されます。有効な値の範囲は –128 から 127 です。

Vulkan Settings

SRGB Write Mode オプションを有効にすると、Vulkan レンダラーの Graphics.SetSRGBWrite() を sRGB の書き込みモードに切り替えることができます。

スタンドアロンプラットフォームの Vulkan Player 設定
スタンドアロンプラットフォームの Vulkan Player 設定

ノート この機能を有効にすると、パフォーマンスが低下する場合があります。特にタイル状の GPU の場合は、パフォーマンスを低下させる可能性があります。

Mac App Store Options

Mac App Store Options
Mac App Store Options

これらのオプションの設定の詳細は、Mac App Store へのアプリケーションの配信 を参照してください。

Mac App Store への公開

Use Player Log プロパティーを使用すると、デバッグ情報を持つログファイルを作成できます。これは、ゲームの問題を調査するのに便利です。ただし、Apple の Mac App Store 用にゲームを公開する場合は、これを無効にする必要があります。これが有効になっていると、Apple から提出を拒否される場合があるためです。ログファイルの詳細は、Unity マニュアルの ログファイル のページを参照してください。

Use Mac App Store Validation プロパティーは、Mac App Store のレシート検証を有効にします。有効にすると、ゲームは、Mac App Store からの有効なレシートを持つ場合にのみ実行されます。ゲームを App Store に公開するために提出する場合は、このオプションを有効にします。すると、ゲームを購入したコンピューター以外のコンピューターでゲームを実行できなくなります。

この機能は強力なコピープロテクションを実装していないことに注意してください。特に、ある 1 つの Unity ゲームを不正利用できる能力は、他の Unity コンテンツに対しても不正利用を行うことが可能である恐れがあります。このため、Unity のプラグイン機能を使用して、独自のレシート検証コードを実装することが推奨されます。ただし、画面設定ダイアログを表示する前に Apple による最初のプラグインの検証が必要であるため、このプロパティーを有効にして、Apple によってゲームの提出が拒否されるのを避ける必要があります。

Configuration

スタンドアロンプレイヤープラットフォームの Configulation
スタンドアロンプレイヤープラットフォームの Configulation
設定 機能
Scripting Backend 使用したいスクリプティングバックエンドを選択します。スクリプティングバックエンドは Unity のプロジェクトで C# コードをコンパイルし実行する方法を決定します。
Mono C# コードを .NET Common Intermediate Language (CIL) にコンパイルし、それを Common Language Runtime を使用して実行します。詳細は、Mono プロジェクト に関するウェブサイトを参照してください。
IL2CPP C# コードを CIL にコンパイルし、CIL を C++ に変換し、次に、その C++ をネイティブのマシンコードにコンパイルします。これは、ランタイムに直接実行されます。詳細は IL2CPP を参照してください。
API Compatibility Level プロジェクトに使用する .NET API を選択します。この設定は、サードパーティ製ライブラリとの互換性に影響を与えます。
ヒント サードパーティ製アセンブリに問題がある場合は、後述の API Compatibility Level セクションを参照してください。
.Net 2.0 .NET 2.0 ライブラリ。最大の .Net 互換性、最大ファイルサイズ。非推奨の .NET 3.5 ランタイムの一部。
.Net 2.0 Subset 完全な .Net 互換性のサブセット。ファイルサイズは小さくなります。非推奨の .NET 3.5 ランタイムの一部。
.Net Standard 2.0 .NET Standard 2.0 と互換性があります。ビルドは小さく、完全なクロスプラットフォームをサポートします。
.Net 4.x .NET Framework 4 (.NET Standard 2.0 プロファイルのすべてと追加 API を含む) と互換性があります。.NET Standard 2.0 に含まれていない API にアクセスするライブラリを使用する場合は、このオプションを選択します。より大きいビルドが作成され、使用可能な追加の API がすべてのプラットフォームで必ずしもサポートされるわけではありません。詳細は、追加のクラスライブラリアセンブリの参照 を参照してください。
C++ Compiler Configuration IL2CPP 生成コードをコンパイルするときに使用する C++ コンパイラーの設定を選択します。
ノート このプロパティーは、Scripting BackendIL2CPP に設定されない限り、無効です。
Use incremental GC インクリメンタルなガベージコレクターを使用します。これは、ガベージコレクションをいくつかのフレームに広げ、フレーム継続時間中に GC に関連するスパイクを軽減します。
Disable HW Statistics これを有効にすると、アプリケーションから Unity へハードウェアの情報を送信することを停止します。デフォルトでは、Unity Android アプリケーションは Unity に匿名のハードウェア統計を送信します。 これにより、開発者としての意思決定に役立つ集約的な情報を取得できます。詳細は、Unity Hardware Statistics を参照してください。
Scripting Define Symbols カスタムコンパイルフラグを設定します。詳細は、プラットフォーム依存コンパイル を参照してください。
Allow ‘unsafe’ Code 事前に定義されたアセンブリ (例えば Assembly-CSharp.dll) の ‘unsafe’ C# code をコンパイルするサポートを有効にします。
アセンブリ定義ファイル (.asmdef) の場合、.asmdef ファイルの 1 つをクリックし、表示されたインスペクターウィンドウでオプションを有効にします。
Active Input Handling ユーザーからの入力をどのように処理するかを選択します。
Input Manager 従来の Input 設定を使用します。
Input System (Preview) 新しい Input (入力) システムを使用します。入力システムはこのリリースのプレビューパッケージとして提供されています。Input System のプレビュー版を使用するには、InputSystem パッケージ をインストールしてください。
Both 両方のシステムを同時に使用できます。

API Compatibility Level

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

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

Optimization

スタンドアロンプレイヤープラットフォームの Oputimization 設定
スタンドアロンプレイヤープラットフォームの Oputimization 設定
プロパティー 機能
Prebake Collision Meshes ビルド時に衝突データをメッシュに加えるには、このオプションを有効にします。
Keep Loaded Shaders Alive シェーダーがアンロードされないようにするには、このオプションを有効にします。
Preloaded Assets 起動時にプレイヤーが読み込むためのアセットの配列を設定します。
新しいアセットを加えるには、Size プロパティーの値を増やし、表示される新しい Element ボックスに読み込むようにアセットへの参照を設定します。
Strip Engine Code (IL2CPP only) プロジェクトで使用されていない Unity エンジン機能のコードを、Unity Linker ツールが削除するかどうかを指定します。
Managed Stripping Level Unityが 未使用のマネージ (C#) コードをどれだけ積極的に削除するかを定義します。
Unity がゲームやアプリケーションをビルドするとき、Unity Linker プロセスは、プロジェクトで使用されている動的にリンクされたマネージライブラリから未使用のコードをストリップします。コードを削除すると、結果として得られる実行ファイルはかなり小さくなりますが、誤って実際に使用されているコードを削除することがあります。この設定では、未使用のコードをどれだけ積極的に削除するかを選択できます。
Disabled (Mono only) いかなるコードも削除しません。(マネージコードのストリッピングは IL2CPP を使用する場合は常に有効です。)
Normal ビルドサイズと Mono/IL2CPP のビルド時間を減らすために、アクセス不能なマネージコードを削除します。
Aggressive (Experimental) Normal オプションよりもより積極的にコードを削除します。コードサイズはさらに削減されますが、この追加の削減は悪い影響を伴う可能性があります。例えば、メソッドの一部がデバッガで表示されなくなったり、リフレクションによってアクセスされるコードが削除される、などです。カスタムの link.xml ファイルを作成して、特定のクラスとメソッドを保持することができます。詳細は IL2CPP を使ったマネージバイトコードストリップ を参照してください。
Enable Internal profiler (Deprecated) これを有効にすると、プロジェクトのテスト中に Android SDK の adblogcat が出力するデバイスのプロファイラーデータを取得できます。開発ビルドでのみ使用可能。
Script Call Optimization ランタイムの速度を上げるために任意で例外処理を無効にする方法を設定します。詳しくは iOS 固有の最適化 を参照してください。
Slow and Safe 完全な例外処理を行います (Mono スクリプティングバックエンドを使用する場合は、デバイスのパフォーマンスに影響を与えることがあります)。
Fast but no Exceptions デバイスの例外に対してデータを提供しません (Mono スクリプティングバックエンドを使用すると、ゲームはより高速で実行されます)。
ノート この機能を IL2CPP スクリプティングバックエンド と一緒に使用してもパフォーマンスに影響を与えません。ただし、リリース用ビルドで未定義の動作を避けることができます。
Vertex Compression チャンネルごとに頂点圧縮を設定します。例えば、位置とライトマップ UV 以外のすべてに対して圧縮を有効にすることができます。インポートされた各オブジェクトに設定されたメッシュ全体の圧縮は、オブジェクトに設定された頂点圧縮を上書きします。
Optimize Mesh Data これを有効にすると、メッシュに適用されるマテリアルに必要のないすべてのデータはメッシュから削除されます。

Logging

特定のコンテキストで許可するログのタイプを選択します。

スタンドアロンプレイヤープラットフォームの Logging 設定
スタンドアロンプレイヤープラットフォームの Logging 設定

各ログタイプ (ErrorAssertWarningLogException) に対して、以下のオプションから 1 つ選択します。スクリプト実行中にログを行う (ScriptOnly)、常に行なう (Full)、決して行なわない (None)。

Legacy

Clamp BlendShapes (Deprecated) オプションを有効にすると、SkinnedMeshRenderers でブレンドシェイプのウェイトの範囲を固定できます。

スタンドアロンプレイヤープラットフォームの Legacy 設定
スタンドアロンプレイヤープラットフォームの Legacy 設定

XR Settings

スタンドアロンプレイヤーの XR 設定
スタンドアロンプレイヤーの XR 設定
プロパティー 機能
Virtual Reality Supported Unity エディターとゲームビルドに対しネイティブの VR サポートを有効にします。
Virtual Reality SDKs リストに Virtual Reality SDK を加えたり、削除したりします。このリストは、Virtual Reality Supported が有効な場合にのみ利用可能です。
SDK をリストに加えるには、プラス (+) ボタンをクリックします。
SDK をリストから削除するには、選択してからマイナス (-) ボタンをクリックします。
一部の SDK は追加設定をここに表示します。詳細は XR SDK を参照してください。
Stereo Rendering Mode VR デバイスのレンダリング方法を選択します。
Multi Pass これが通常のレンダリングモードです。Unity はシーンを 2 度レンダリングします。最初に左眼画像をレンダリングしてから右眼画像をレンダリングします。
Single Pass 両方の眼の画像を同時にまとまった 1 つのレンダーテクスチャにレンダリングします。つまり、シーン全体が 1 回だけレンダリングされるため、CPU の処理時間が大幅に削減されます。
Single Pass Instanced (Preview) GPU は 1 回のレンダーパスを実行し、各ドローコールをインスタンス化されたドローコールに置き換えます。これは、CPU の使用を大幅に減少させ、2 つのドローコール間のキャッシュの一貫性のために、GPU の使用をわずかに減少させます。このモードを使用すると、アプリケーションの消費電力を大幅に削減できます。
360 Stereo Capture これを有効にすると、360 度ステレオキャプチャが有効なシェーダーバリアントを使用できます。デフォルトではこのオプションは無効で、Unity はこれらのシェーダーバリアントを作成しません。
Vuforia Augmented Reality Click this link to download the Vuforia Software Development Kit. You must have a Vuforia software license before you can use the Vuforia SDK.



  • 2017–09–04 >MacOS Retina Support チェックボックスは 2017.2 で追加NewIn20171

  • Allow ‘unsafe’ Code チェックボックスは Unity 2018.1 で追加NewIn20181

  • .NET 4.x ランタイムは 2018.1 で追加

  • United Settings の更新、.Net 3.5 スクリプティングランタイムは Unity 2018.3 で非推奨にNewIn20183

  • Input System プレビューは Unity 2019.1 で追加

スタンドアロン
PC、Mac、Linux スタンドアロンのビルド設定