Version: 2020.2
言語: 日本語
iOSプレイヤー設定-デバッグとクラッシュレポート
iOS Player settings - XR settings

iOS Player settings - Other settings

Other Settings セクションでさまざまな Player 設定を行うことができます。これらのオプションは、以下のグループに分類されています。

Rendering

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

iOS プラットフォームの Rendering Player 設定
iOS プラットフォームの Rendering Player 設定
設定 機能
Color Space レンダリングに Gamma (ガンマ) と Linear (リニア) どちらの色空間を使用するかを選択します。
2 つの色空間の違いの説明は リニアレンダリングの概要 を参照してください。
Auto Graphics API このオプションを無効にすると、グラフィックス API を手動で設定することができます。このオプションはデフォルトで有効で、Metal を含みます。
Color Gamut レンダリングに使用する iOS プラットフォーム用の 色域 を追加または削除することができます。プラス (+) アイコンをクリックすると、使用可能な色域のリストが表示されます。色域は、特定のデバイス (モニターや画面) で使用可能な色の範囲を定義します。sRGB 色域はデフォルトの (そして必須の) 色域です。

広色域ディスプレイを備えた最近の iOS デバイスをターゲットにする場合は、DisplayP3 を使用してフルディスプレイ機能を利用します。古いデバイスのフォールバックとしては Metal Editor Support を使用してください。
Metal Editor Support これを有効にすると、Metal API を Unity エディターで使用し、Metal API をターゲットとしたより速い シェーダー のイテレーションを自在に行えます。

ノート: このオプションをオンまたはオフに変更する場合は、エディターを再起動する必要があります。
Metal API Validation シェーダーの問題をデバッグする必要がある場合は、このオプションを有効にします。このオプションは、Metal Editor Support チェックボックスが選択されている場合にのみ表示されます。

注意: 検証は CPU 使用率を増加させるため、デバッグにのみ使用してください。
Metal Write-Only Backbuffer デフォルトではないデバイスの向きでパフォーマンスを向上させます。これにより、バックバッファに frameBufferOnly フラグを設定します。これは、バックバッファからの読み直しを防ぎますが、ドライバ-の最適化が可能になることもあります。
Force hard shadows on Metal これを有効にすると、Metal の影のポイントサンプリングを強制的に使用します。これにより影の品質が低下し、パフォーマンスが向上します。
Memoryless Depth いつ メモリレスレンダーテクスチャ を使用するかを選択します。メモリレスレンダーテクスチャはレンダリング時に、CPU や GPU メモリではなく、タイル上のメモリに一時的に格納されます。これにより、アプリケーションのメモリ使用量が削減されますが、これらのレンダーテクスチャを読み書きすることはできません。

注意: メモリレスレンダーテクスチャは、iOS、tvOS 10.0 以降、Metal、Vulkan でのみサポートされます。その他のプラットフォームでは、レンダーテクスチャは読み取り/書き込み保護され、他のプラットフォームの CPU や GPU メモリに保存されます。
Unused メモリレスフレームバッファ深度を決して使用しません。
Forced 常にメモリレスフレームバッファ深度を使用します。
Automatic メモリレスフレームバッファ深度をいつ使用するかは Unity が決定します。
Multithreaded Rendering マルチスレッドレンダリングを使用するには、このオプションを有効にします 。
Static Batching 静的バッチ処理を使用するには、このオプションを有効にします。詳細は、ドローコールバッチング を参照してください。
Dynamic Batching 動的バッチ処理を使用するには、このオプションを有効にします (デフォルトでは有効)。詳細は、ドローコールバッチング を参照してください。

ノート: 動的バッチ処理は、スクリプタブルレンダーパイプライン がアクティブな場合は効果がないため、Graphics 設定の Scriptable Render Pipeline Asset が無効の場合にのみ表示されます。
Compute Skinning これを有効にすると、Metal GPU コンピュートスキニングを使用します。Metal GPU コンピュートスキニングは CPU リソースを解放します。GPU コンピュートスキニングの詳細は、Wikipedia のスケルタルアニメーションに関するページ を参照してください。
Graphics Jobs (Experimental) これを有効にすると、Unity がグラフィックスタスク (レンダリングのループ) を他の CPU コア上で動作するワーカースレッドにオフロードします。これは、しばしばボトルネックとなるメインスレッドの Camera.Render に要する時間を短縮します。

ノート: この機能は実験的です。プロジェクトのパフォーマンスが向上しない場合があり、不安定にする可能性があります。

現在、Unity は、Vulkan を使用している時のみグラフィックスジョブをサポートします。そのため、この設定は、OpenGL ES を使用しているときには効力がありません。
Lightmap Encoding ライトマップのエンコードを設定するには、Low QualityNormal QualityHigh Quality のいずれかを選択します。この設定は、ライトマップのエンコードスキームと圧縮形式に影響します。
Lightmap Streaming Enabled これを有効にすると、現在のゲームカメラをレンダリングするために、必要に応じてライトマップのミップマップのみを読み込みます。この値は、生成されるライトマップテクスチャに適用されます。

ノート: この設定を使用するには、Texture Streaming Quality 設定を有効にする必要があります。
Streaming Priority このオプションは、ライトマップストリーミングが有効な場合にのみ表示されます。ライトマップミップマップストリーミングの優先順位を設定し、リソースの競合を解決します。これらの値を設定すると、Unity はそれらをライトマップテクスチャに適用します。

正の数値が優先されます。有効な値の範囲は –128 から 127 です。
Enable Frame Timing Stats これを有効にすると、CPU/GPUフレームタイミング統計を収集します。

Identification

アプリケーションの識別情報を入力します。

iOS プラットフォームの Identification 設定
iOS プラットフォームの Identification 設定
設定 機能
Bundle Identifier ビルドするゲームやアプリケーションのプロビジョニングプロファイルを入力します。識別子の基本的な構造は com.CompanyName.ProductName です。この構造は、住んでいる国によって異なる場合があります。そのため、常に、開発者アカウント用に Apple から提供された文字列をデフォルトにしてください。ProductName はプロビジョニング証明書に設定されます。

この値は関連する info.plist ファイルに CFBundleIdentifier として表示されます。詳しくは、Apple 開発者用ドキュメントの CFBundleIdentifier を参照してください。
ノート: この設定は、iOS、tvOS、Android で共有されます。
Version バンドルの “リリース-バージョン-番号” の文字列を入力します (例えば、4.3.6)。

関連する info.plist ファイルに CFBundleShortVersionString として表示されます。詳しくは、Apple 開発者用ドキュメントの CFBundleShortVersionString を参照してください。
Build アプリケーションのこのバージョンのビルド番号を入力します。関連する info.plist ファイルに CFBundleVersion として表示されます。詳しくは、Apple 開発者用のドキュメントで CFBundleVersion を参照してください。 
Signing Team ID Apple Developer Team ID を入力します。詳しくは、Apple 開発者用ウェブサイトの Xcode ヘルプ を参照してください。これにより、生成された Xcode プロジェクトの Team ID が設定され、開発者は Build and Run 機能を使用できるようになります。アプリケーションの自動署名のためには Apple Developer Team ID をここに入力する必要があります。

詳細は、Creating Your Team Provisioning Profile を参照してください。
Automatically Sign これを有効にすると、Xcode によってビルドに自動的に署名されます。

Configuration

iOSプラットフォームの Configuration (設定)
iOSプラットフォームの Configuration (設定)

API の設定

設定 機能
Scripting Backend スクリプトバックエンドは、Unity がプロジェクトで C# コードをコンパイルし実行する方法を決定します。この設定は、iOS の場合はデフォルトで IL2CPP に設定されており、変更できません。

IL2CPP は C# コードを CIL にコンパイルし、CIL を C++ に変換し、その C++ をネイティブのマシンコードにコンパイルします。これは、ランタイムに直接実行されます。詳細は IL2CPP を参照してください。

IL2CPP スクリプティングバックエンドによって生成された C++ コードはインクリメンタルに更新され、インクリメンタルな C++ ビルドシステムが、ソースファイルの変更のみをコンパイルすることが可能になります。これにより、反復時間を大幅に短縮することができます。
API Compatibility Level Compatibility Level (互換性レベル) は、プロジェクトで使用できる .NET API を決定します。この設定はサードパーティ製のライブラリとの互換性に影響します。
ヒント サードパーティ製のアセンブリで問題が発生した場合は、API Compatibility Level セクションの方法を試みてください。
.Net Standard 2.0 .NET Standard 2.0 と互換性があります。ビルドは小さく、完全なクロスプラットフォームをサポートします。
.Net 4.x .NET Standard 2.0 に含まれていない API にアクセスするライブラリを使用する場合は、このオプションを選択します。.NET Framework 4 (.NET Standard 2.0 プロファイルのすべてと追加 API を含む) と互換性があります。

サイズが大きめのビルドを作成します。使用可能な追加の API の一部は、サポートされていない場合があります。詳細については、追加のクラスライブラリアセンブリの参照 を参照してください。
C++ Compiler Configuration IL2CPP 生成コードをコンパイルするときに使用する C++ コンパイラーの設定を選択します。この設定は iOS のリリース版ではデフォルトで、変更できません。
Use incremental GC インクリメンタルなガベージコレクターを使用します。これは、ガベージコレクションをいくつかのフレームに広げ、フレーム継続時間中に GC に関連するスパイクを軽減します。詳細は、自動メモリ管理 を参照してください。

API Compatibility Level

すべてのターゲットに対する Mono の API Compatibility Level (API 互換性レベル) を選択できます。Windows を使用している場合は、サードパーティのソフトウェア Reflector を使用して、何が起こっているのか、そしてそれを修正する方法を理解できます。以下の手順に従ってください。

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

Apple 特有の情報

設定 機能
Camera Usage Description iOS デバイスでカメラにアクセスする理由を入力します。
Location Usage Description iOS デバイスの場所にアクセスする理由を入力します。
Microphone Usage Description iOS デバイスのマイクにアクセスする理由を入力します。
Use on Demand Resource オンデマンドリソースを使用するには、このオプションを有効にします。

有効にすると、Variant map for app slicing セクションが表示されます。
Ackelerometer Frequency 加速度センサーをサンプリングする頻度を定義します。頻度は 15Hz30Hz60Hz100Hz のいずれかに設定できます。または、Disbaled を選択して加速度センサーを無視します。
Mute Other Audio Sources これを有効にすると、Unity は、バックグラウンドで実行しているアプリケーションからのオーディオを止めます。これを無効にすると、バックグラウンドアプリケーションからのオーディオを Unity のアプリケーションと一緒に再生します。
Prepare iOS for Recording マイク録音 API を初期化するには、このオプションを有効にします。これにより、録音の遅延は少なくなります (ただし、iPhone ではオーディオ出力の再ルーティングはイヤホン経由でのみです)。
Forcing iOS Speakers when recording これを有効にすると、ヘッドフォンが接続され録音中であっても、内蔵スピーカを通してオーディオを出力します。
Requires Persistent WiFi これを有効にすると Wi-Fi 接続が必須になります。アプリケーションが実行されている間、iOS はアクティブな Wi-Fi 接続を維持します。
Allow downloads over HTTP (nonsecure) これを有効にすると、HTTP 経由でコンテンツのダウンロードが可能になります。デフォルトであり、推奨されるファイルは、HTTPS で、より安全です。
Supported URL schemes supported URL schemes のリスト。

新しいスキームを追加するには、Size プロパティの値を増やし、表示される新しい Element ボックスにロードするアセットへの参照を設定します。

デバイス情報

設定 機能
Disable HW Statistics これを有効にすると、アプリケーションがハードウェアに関する情報を Unity に送信しないように指示します。
Target Device アプリケーションがターゲットにするデバイスを選択します。オプションは iPhone OnlyiPad OnlyiPhone + iPad です。
Target SDK アプリケーションがターゲットとする SDK を選択します。オプションは Device SDKSimulator SDK です。

ノート: 正しい SDK を選択するよう注意してください。例えば、Device SDK を選択してから Xcode の Simulator をターゲットにすると、ビルドに失敗します。
Target minimum iOS Version アプリケーションが動作する iOS の最低バージョンを定義します。
Enable ProMotion Support これを有効にすると ProMotion ディスプレイで高周波リフレッシュレート (120 Hz) が可能になります。これは、バッテリーをより消耗させる場合があります。
Requires ARKit support これを有効にすると、App Store に公開するときにアプリを iPhone 6s/iOS 11 以降のデバイスに制限します。
Automatically add capabilities このオプションを有効にすると、Unity は entitlements.plist ファイルを生成し、アプリケーションが実装する iOS API (例えば Game Center や Notifications) の機能を加えます。詳細は、Apple 開発者用ドキュメント Entitlements を参照してください。
Defer system gestures on edges システムのジェスチャを適用するために 2 回スワイプする必要があるエッジを選択します。オプションは Top EdgeLeft EdgeBottom EdgeRight Edge です。
Hide home button on iPhone X これを有効にすると、アプリケーションの実行中に iPhone X デバイスのホームボタンを非表示にします。
Render Extra Frame on Pause これを有効にすると、アプリケーションが一時停止しているときにフレームの後に追加のフレームを生成します。これにより、アプリケーションがバックグラウンドで実行されるときに、ポーズ状態を示すグラフィックスを表示します。
Enable Custom Background Behaviors ユーザーがホームボタンを押してアプリケーションをバックグラウンドにしたときにアプリが実行できることを選択します。例は、BackgroundFetch プロジェクトを参照してください。オプションは以下のとおりです。

- Audio, AirPlay, PiP
- Location updates
- Voice over IP
- Newsstand downloads
- External accessory communication
- Uses Bluetooth LE accessories
- Act as a Bluetooth LE accessory
- Background fetch
- Remote notifications

Variant map for app slicing

スクリプトで設定されたバリアント名のリストを表示するには、Variant map for app slicing セクションを開きます。バリアントの詳細については、App Slicing を参照してください。

ノート: このセクションが表示されない場合は、Use on Demand Resource プロパティが有効になっていることを確認してください。

新しいバリアントを、プラス (+) とマイナス ( - ) のアイコンで加えたり、削除したりすることができます。また、リストからバリアントを選択し、その設定を Variant settings で表示または変更することもできます。Variant name を除くこれらの設定のいずれかで、Custom value を選択すると、追加のプロパティが下に現れ独自の値を入力できます。

設定 機能
Variant name 起動スクリプトのバリアントの名前を表示します。
Device このバリアントがターゲットとするデバイスを選択します。オプションには Any (デフォルト)、iPhoneiPadiWatchCustom value が含まれます。
Memory このバリアントに必要な最小メモリを選択します。オプションには Any (デフォルト)、1GB2GB3GB4GBCustom value が含まれます。
Graphics 使用する Metal フレームワーク を選択します。選択肢には Any (デフォルト)、Metal1v2Metal2v2Metal2v3Metal3v1Metal3v2Metal4v1Custom value があります。

詳しくは、Apple 開発者用ドキュメントの Metal を参照してください。
Display color space 使用する色域を選択します。選択肢には Any (デフォルト)、sRGBDisplayP3Custom value があります。

また、独自の設定を追加することもできます。Add custom entry ボタンをクリックすると、新しい一組のテキストボックスが表示されます。

  • <key>: 設定の名前を入力します。
  • <value>: この設定の値を入力します。

Other configuration settings

設定 機能
Architecture どのアーキテクチャーをターゲットにするか選択します。
Universal すべてのアーキテクチャをサポートします。これが推奨されるオプションです。
Armv7 以前の 32 ビット ARM アーキテクチャのみをサポートします。
Arm64 新しい 64 ビット ARM アーキテクチャのみをサポートします。アプリケーションがハイエンド端末のみをターゲットとしている場合は、このオプションを選択することをおすすめします。
Scripting Define Symbols カスタムコンパイルフラグを設定します。詳細は、プラットフォーム依存コンパイル を参照してください。
Allow ‘unsafe’ Code 事前に定義されたアセンブリ (例えば Assembly-CSharp.dll) の ‘unsafe’ C# code をコンパイルするサポートを有効にします。

アセンブリ定義ファイル (.asmdef) の場合、.asmdef ファイルの 1 つをクリックし、表示された Inspector ウィンドウでオプションを有効にします。
Active Input Handling ユーザーからの入力をどのように処理するかを選択します。
Input Manager (Old) 従来の Input 設定を使用します。
Input System (New) 新しい Input システムを使用します。入力システムはこのリリースのプレビューパッケージとして提供されています。Input System のプレビュー版を使用するには、InputSystem パッケージ をインストールしてください。
Both 両方のシステムを同時に使用できます。

Optimization

iOS プラットフォームの Optimization 設定
iOS プラットフォームの Optimization 設定
設定 機能
Prebake Collision Meshes ビルド時に衝突データをメッシュに加えるには、このオプションを有効にします。
Keep Loaded Shaders Alive シェーダーがアンロードされないようにするには、このオプションを有効にします。
Preloaded Assets 起動時にプレイヤーが読み込むためのアセットの配列を設定します。

新しいアセットを加えるには、Size プロパティの値を増やし、表示される新しい Element ボックスに読み込むようにアセットへの参照を設定します。
AOT compilation options Ahead of Time (AOT) コンパイルの追加オプションです。これは ビルドした iOS プレイヤーのサイズ最適化 に役立ちます。
Strip Engine Code このオプションを有効にすると、Unity Linker ツールはプロジェクトが使用しない Unity エンジン機能のコードを削除します。この設定は IL2CPP スクリプティングバックエンドでのみ可能です。

ほとんどのゲームは、必要なすべての DLL を使用するわけではありません。このオプションは、アプリケーションが使用しない DLL を削除して、ビルドされたプレイヤーのサイズを縮小します。アプリケーションが現在の設定で通常は削除される 1 つ以上のクラスを使用している場合、アプリケーションをビルドしようとすると Unity はデバッグメッセージを表示します。
Managed Stripping Level Unity が未使用のマネージ (C#) コードを削除する度合いを選択します。

Unity がアプリケーションをビルドするとき、Unity Linker プロセスはプロジェクトが使用するマネージ DLL の使用しないコードを削除します。コードを削除すると結果として得られる実行ファイルはかなり小さくなりますが、誤って実際に使用されているコードを削除することがあります。この設定では、Unity が未使用のコードをどれだけ積極的に削除するかを選択できます。

可能なオプションは、DisabledLowMediumHigh です。オプションについて詳しくは、 Managed code stripping を参照してください。

IL2CPP を使ったバイトコードストリッピングに関して詳しくは、マネージコードストリッピング を参照してください。
Script Call Optimization ランタイムの速度を上げるために任意で例外処理を無効にする方法を設定します。詳しくは iOS 固有の最適化 を参照してください。
Slow and Safe 完全な例外処理を行います (Mono スクリプティングバックエンドを使用する場合は、デバイスのパフォーマンスに影響を与えることがあります)。
Fast but no Exceptions デバイスの例外に対してデータを提供しません (Mono スクリプティングバックエンドを使用すると、アプリケーションはより高速で実行されます)。
ノート: この機能を IL2CPP スクリプティングバックエンドと一緒に使用しても、パフォーマンスに影響を与えません。ただし、リリース用ビルドで未定義の動作を避けることができます。
Vertex Compression チャンネルごとに頂点圧縮を設定します。例えば、位置とライトマップ UV 以外のすべてに対して圧縮を有効にすることができます。インポートされたオブジェクトのグローバルメッシュ圧縮設定は、これらの設定をオーバーライドします。
Optimize Mesh Data これを有効にすると、メッシュに適用されるマテリアルに必要のないすべてのデータはメッシュから削除されます。

ログ

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

iOS プラットフォームのログ設定
iOS プラットフォームのログ設定

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

古い機能

Clamp BlendShapes (Deprecated) オプションを有効にすると、SkinnedMeshRenderers のブレンドシェイプのウェイトの範囲を固定できます。このオプションは非推奨であるため、今後使用しないでください。


  • Unity 2019.3 で GPU Skinning は Compute Skinning に名称変更NewIn20193
  • OpenGLES2/3 は Unity 2019.3 で非推奨に
  • OpenGLES2/3 は Unity 2020.1 で削除
iOSプレイヤー設定-デバッグとクラッシュレポート
iOS Player settings - XR settings