Version: 2022.3
言語: 日本語
iOS 環境設定
iOS 用の開発

iOS Player 設定

このページでは、iOS 特有の Player 設定について説明します。すべてのプラットフォームに適用される一般的な Player 設定については、Player - General settings を参照してください。

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

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

Icon

Icon 設定を使用して、Apple Store でのアプリケーションのブランド設定をカスタマイズします。

iOS Player 設定の Icon 設定
iOS Player 設定の Icon 設定

iOS デバイス (iPhone、iPad) ごとに以下のタイプのカスタムアイコンをアップロードして割り当てることができます。

アイコンの種類 アイコンの表示場所
Application icons アプリケーションの主要アイコン
Spotlight icons アプリケーションのスポットライト検索結果
Settings icons デバイスの主要設定ページ
Notification icons アプリケーションから送信される通知
Marketing icons App Store

アップロードするすべてのアイコンは Texture 2D タイプのアセットです。アイコンのテクスチャがない場合、Unity はアイコンのテクスチャを最も近いサイズで拡大し、より大きなテクスチャを使用するようにします。

Resolution and Presentation

Resolution and Presentation (解像度と表示) セクションを使用して、画面の表示をカスタム化します。

これらの設定は、以下のカテゴリに分類されます。

iOS プラットフォームの Resolution Scaling 設定
iOS プラットフォームの Resolution Scaling 設定

Resolution Scaling

Resolution Scaling Mode 設定を使用して、 スケールをネイティブの画面解像度以下に設定します。

設定 機能
Disabled スケーリングは適用されず、アプリケーションはネイティブの画面解像度でレンダリングします。
FixedDPI これを選択すると Target DPI プロパティが表示されます。

Target DPI を使用して、ゲーム画面の DPI を設定します。デバイスのネイティブの画面 DPI がこの値より高い場合、Unity はこの設定に一致するようにゲーム画面をダウンスケールします。これは、パフォーマンスとバッテリー寿命を最適化するのに役立ちます。 これを使用して、特定の DPI 設定を適用することもできます。

Unity はスケールを min(Target DPI * Factor / Screen DPI, 1) と計算します。FactorQuality 設定で入力した Resolution Scaling Fixed DPI Factor 値を使用します。
Reset resolution on window resize ネイティブのウィンドウサイズが変更されるときに、画面解像度を新しいネイティブウィンドウサイズに設定するかどうかを示します。Resolution Scaling ModeFixed DPI に設定すると、Unity は Fixed DPI プロパティに基づいて解像度を再計算します。

Orientation

Default Orientation ドロップダウンからゲームの画面の向きを選択します。デフォルト設定は Auto Rotation です。選択すると、デバイスの向きに合わせて画面が回転します。

他の設定を選択すると、画面上のホームボタンの固定位置を決定します。

設定 ホームボタンの位置
Portrait
Portrait Upside Down
Landscape Left
Landscape Right
Auto Rotation 画面の向きはデバイスの向きに応じて変化します。これがデフォルトです。

ノート: Default Orientation 設定は iOS と Android デバイスの両方に適用されます。

Default Orientation として Auto Rotation を選択すると、以下の設定が表示されます。

設定 機能
Use Animated Autorotation これを有効にすると、ユーザーがデバイスを回転させるときに、画面の回転にアニメーションによる遷移が使用されます。そうでない場合は、画面の回転は即座に変化します。
Allowed Orientations for Auto Rotation Auto Rotation は画面の向きをデバイスに合わせて変更します。許可する画面の向きを制限したい場合 (例えば、 デバイスを横向きにロックしたいなど) は、許可したい向きのチェックボックスをオンにします。

Multitasking Support

アプリケーションをフル画面モードで実行する必要がある場合は、Requires Fullscreen オプションを有効にします。

Status Bar

Status Bar セクションを使用して、iOS ステータスバーに関連するパラメーターを指定します。

設定 機能
Status Bar Hidden このオプションを有効にすると、アプリケーションの起動時にステータスバーが非表示になります。
Status Bar Style アプリケーション起動時のステータスバーのスタイルを定義します。 オプションは、DefaultLight です。
Disable Depth and Stencil このオプションを有効にすると、深度バッファとステンシルバッファが無効になります。
Render Over Native UI これを有効にすると、アプリケーションがネイティブの iOS UI の上にレンダリングされます。
Show Loading Indicator ロードインジケーターの表示を選択します。 オプションは、White LargeWhiteGray です。

Splash Image

Splash Image セクションを使用して、iOS がサポートするさまざまなデバイス用にアプリケーションのスプラッシュ画像をカスタマイズします。

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

共通の Splash Screen 設定 の上にある Virtual Reality Splash Image 設定では、VR ディスプレイのカスタムのスプラッシュ画像を選択できます。 

Custom Storyboards

ストーリーボードを iOS の起動画面として使用
ストーリーボードを iOS の起動画面として使用

iPhone または iPad の Launch screen type ドロップダウンで、Custom Storyboard (カスタムストーリーボード) オプションを選択すると、Custom Storyboard ボタンが表示されます。

Custom Storyboard ボタンをクリックして、デバイス上でゲームが起動するときに表示するストーリーボードを選択します。ストーリーボードをここに表示するには、最初に Xcode でストーリーボードを作成し、それをプロジェクトにコピーする必要があります。詳しくは、Apple 開発者用ドキュメント About storyboards, scenes, and connections を参照してください。

Use Storyboard for Launch Screen チェックボックスを無効にする場合は、以下のいずれかの方法でスプラッシュ画像を実装できます。

カスタムストーリーボードを使用しない場合は、Unity のビルトイン起動スクリーンを使ってスプラッシュ画像を実装できます。

Launch Screen

Launch Screen (起動画面) は、iOS がデバイスでスプラッシュスクリーンを作成するストーリーボードファイルです。以下の制限があります。

  • iPad のデバイスの向きに基づいて異なるコンテンツをディスプレイすることはできません。
  • すべての iPhone は横向きの起動画面をサポートしますが、特定の iOS バージョンではバグのため、Landscape Right (右向き) の起動画面ではなく Landscape Left (左向き) の起動画面を表示します。
  • iOS 13 以前はストーリーボードのルートビューコントローラーをオーバーライドすることができませんでした。そのため、起動画面はすべての向きをサポートし、ステータスバーの動作など、いくつかの UI 設定を無視していました。iOS 13 からは、起動画面は向きやステータスバーの外観に関するアプリケーションの設定に完全に準拠するようになりました。

これらの制限は、カスタムストーリーボードにも適用されます。

iPhone Launch ScreeniPad Launch Screen セクションで iPhone と iPad の Launch screen type (起動画面のタイプ) を選択します。

Value 機能
Default このオプションを選択すると、Unity のデフォルトのスプラッシュスクリーンの背景と同じ色の青黒いソリッド画像が追加されます。この画像は縦向きと横向きの両方で使用され、アスペクトフィル (Aspect Fill) モードを使って表示されます。
None Apple は Launch Images をサポートしなくなりました。このオプションは後方互換性のために存在します。これを選択すると、プロジェクトは Unity のデフォルトのスプラッシュスクリーンを使用します。
Image and background (relative size) 画面中央に画像を表示し、残りの領域をソリッドカラーで塗りつぶします。
Portrait Image 縦向きの画像を選択します。
Landscape Image 横向きの画像を選択します。
Background Color 背景色を選択し、画像で覆われていないスクリーンスペースを埋めます。
Fill percentage 画像サイズを画面サイズに対するパーセンテージで指定します。Unity は、画面の縦か横のどちらか小さい方を基準に画像サイズを計算します (横向きディスプレイの場合は縦、縦向きディスプレイの場合は横)。
Image and background (constant size) 画面中央に画像を表示し、その領域をソリッドで塗りつぶします。

これには、画像サイズをパーセンテージではなくポイントで指定する点を除いて、Image and background (relative size) と同じオプションがあります。

ヒント: ポイントとピクセルは同じではありません。ピクセル (px) は、画像内の 1 つの点です。ポイント (pt) は、インチの 1/72 の長さの単位です。 ピクセルサイズは画面サイズと解像度に関連し、ポイントサイズは任意の画面上のサイズです。サイズ単位に関して詳しくは W3C ガイダンス を参照してください。
Custom XIB これを選択すると、Custom XIB ボタンが表示されます。ボタンをクリックして、ロード画面として使用するカスタム XIB ファイルを選択します。
Custom Storyboard これを選択すると、Custom Storyboard ボタンが表示されます。ボタンをクリックして、ローディング画面として使用するカスタム Storyboard ファイルを選択します。

ノート: Unity Personal のサブスクリプションでは、選択したスプラッシュスクリーンに加えて、エンジンが初期化されるとすぐに Unity スプラッシュスクリーン が表示されます。

Debugging and crash reporting

Debugging and crash reporting の設定を使用して、アプリケーションのパフォーマンスに関するデータを収集し、クラッシュをトラブルシューティングします。

iOS プラットフォームのデバッグとクラッシュレポート
iOS プラットフォームのデバッグとクラッシュレポート
設定 機能
Enable Internal Profiler (Deprecated) この機能は非推奨であり、Unity の将来のバージョンでは廃止される予定です。代わりに プロファイラーウィンドウ を使用してください (メニュー: Window > Analytics > Profiler)。

プロファイラーはアプリケーションのパフォーマンスデータを収集し、レポートをコンソールに出力します。レポートには、各 Unity サブシステムが各フレームで実行に要したミリ秒単位の数 (30 フレームの平均) が含まれます。
On .Net UnhandledException .NET の未処理の例外が発生したときに実行するアクションを選択します。オプションは Crash (アプリケーションがクラッシュしてクラッシュレポートを生成します - ユーザーはそれを iTunes に送信してクラッシュのトラブルシューティングに使用できます) と Silent Exit (アプリケーションはエラーなしで終了し、クラッシュレポートを生成しません) があります。
Log Obj-C Uncaught Exceptions これを有効にすると、Unity は Objective-C Uncaught Exception 情報をコンソールに出力します。
Enable Crash Report API カスタムのクラッシュレポーターを使用可能にして、クラッシュをキャプチャします。スクリプトを使用して、CrashReport API を通じてクラッシュログにアクセスできます。

Other settings

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

Rendering

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

iOS プラットフォームの Rendering Player 設定
iOS プラットフォームの Rendering Player 設定
設定 機能
Color Space Unity がレンダリングに使用する色空間 (Gamma (ガンマ) または Linear (リニア)) を選択します。詳細については、リニアレンダリングの概要 を参照してください。

Gamma: ガンマ色空間は通常、古いハードウェア (フレームバッファ形式がチャネルあたり 8 ビットに制限されている) でのライティングの計算に使用されます。今日のモニターはデジタルですが、ガンマエンコードされた信号を入力として受け取る場合もあります。

Linear: リニア色空間レンダリングでは、より正確な結果が得られます。リニア色空間で作業することを選択する場合、エディターはデフォルトで sRGB サンプリングを使用します。テクスチャ がリニア色空間にある場合は、リニア色空間で作業し、各テクスチャの sRGB サンプリングを無効にする必要があります。
Color Gamut レンダリングに使用する iOS プラットフォームの 色域 を追加または削除できます。プラス (+) アイコンをクリックすると、使用可能な色域のリストが表示されます。色域は、特定のデバイス (モニターやスクリーンなど) で使用できる色の範囲を定義します。sRGB 色域はデフォルト (必須でもあります) の色域です。
広色域ディスプレイを備えた最近の tvOS デバイスをターゲットとする場合は、DisplayP3 を使用してすべてのディスプレイ機能を使用します。Metal Editor Support を古いデバイスのフォールバックとして使用します。
Multithreaded Rendering これを有効にすると、グラフィックス API 呼び出しを Unity のメインスレッドから別のワーカー スレッドに移動します。これは、メインスレッドで CPU 使用率が高いアプリケーションのパフォーマンスを向上させるのに役立ちます。
Static Batching 静的バッチ処理を使用します。詳細は ドローコールのバッチ処理 を参照してください。
Dynamic Batching 動的バッチ処理を使用します (デフォルトで有効の設定)。詳細は ドローコールのバッチ処理 を参照してください。

ノート: 動的バッチ処理は、スクリプタブルレンダーパイプライン がアクティブな場合は効果を発揮しないため、この設定は、Graphics 設定の Scriptable Render Pipeline Asset が空白の場合にのみ使用可能になります。
Sprite Batching Threshold バッチ処理時に使用される最大頂点数のしきい値を制御します。
Compute Skinning Metal GPU コンピュートスキニングを使用するには、これを有効にします。それにより、CPU リソースが解放されます。GPU コンピュートスキニングの詳細については、スケルタルアニメーションに関する Wikipedia ページ を参照してください。
Graphics Jobs (Experimental) グラフィックスタスク (レンダーループ) を、他の CPU コアで実行されるワーカースレッドにオフロードするように、Unity に指示するには、このオプションを有効にします。これにより、ボトルネックになりがちな、メインスレッドで Camera.Render に費やされる時間が短縮されます。

ノート: これは実験的機能なため、プロジェクトのパフォーマンスを向上させるとは限らず、安定性を低下させる場合があります。
Texture compression format iOS のデフォルトのテクスチャ圧縮形式として ASTC と PVRTC のどちらかを選択します。詳細については、テクスチャ圧縮形式の概要 を参照してください。
Normal Map Encoding XYZ または DDXT5nm-style を選択して、法線マップエンコードを設定します。 これは、法線マップに使用されるエンコードスキームと圧縮形式に影響します。DXT5nm スタイルの法線マップは高品質ですが、シェーダーでのデコードにコストがかかります。
Lightmap Encoding ライトマップのエンコーディングスキームと圧縮形式を定義します。
選択肢は Low QualityNormal QualityHigh Quality です。
HDR Cubemap Encoding HDR Cubemap のエンコーディングスキームと圧縮形式を定義します。
選択肢は Low QualityNormal QualityHigh Quality です。
Lightmap Streaming ライトマップに ミップマップストリーミング を使用します。Unity は、ライトマップの生成時に、全てのライトマップにこの設定を適用します。

ノート: この設定を使用するには、Quality 設定の Texture Streaming 設定を有効にする必要があります。
Streaming Priority ミップマップストリーミングシステム の全てのライトマップの優先順位を設定します。Unity は、ライトマップの生成時に、全てのライトマップにこの設定を適用します。
正数のほうが優先度が高くなります。有効な値の範囲は –128 から 127 です。
Frame Timing Stats Unity が CPU/GPU フレームタイミング統計を収集できるようにします。このオプションを 動的解像度 カメラ設定と組み合わせて使用して、アプリケーションが CPU バインドか GPU バインドかを特定できます。
Virtual Texturing 現在 iOS ではサポートされていません。
Shader precision model シェーダーで使用されるサンプラーのデフォルトの精度を制御します。詳細については、シェーダーのデータ型と精度 を参照してください。
360 Stereo Capture 現在 iOS ではサポートされていません。
Load/Store Action Debug Mode ビルドされたアプリケーションでレンダリングの問題を引き起こす可能性がある未定義のピクセルを強調表示します。強調表示は、ゲームビューと、Build Settings で Development Build を選択した場合にビルドされたアプリケーションにのみ表示されます。LoadStoreActionDebugModeSettings を参照してください。
Editor Only ゲームビューでは未定義のピクセルが強調表示されますが、ビルドされたアプリケーションでは強調表示されません。

Identification

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

iOS プラットフォームの Identification 設定
iOS プラットフォームの Identification 設定
設定 機能
Override Default Bundle Identifier バンドル識別子を手動で設定できるかどうかを示します。
ノート: この設定は、macOS、iOS、tvOS、Android に影響します。
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 プロジェクトで使用できる .NET API を選択します。この設定は、サードパーティのライブラリとの互換性に影響を与える可能性があります。ただし、エディター固有のコード (エディターディレクトリ内のコード、またはエディター固有のアセンブリ定義内のコード) には影響しません。
.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++ コンパイラー設定。この設定はデフォルトで Release for iOS になっており、変更できません。
Use incremental GC インクリメンタルガベージコレクターを使用します。これは、ガベージコレクションを複数のフレームに分散させることで、フレーム持続時間中の、ガベージコレクション関連のスパイクを減らすものです。詳細は Automatic Memory Management を参照してください。

API Compatibility Level

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

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

Apple 特有の情報

設定 機能
Allow downloads over HTTP HTTP 経由でのコンテンツのダウンロードを許可するかどうか指定します。選択可能なオプションは Not allowedAllowed in Development builds onlyAlways allowed です。デフォルトのオプションは Not allowed です。これは、より安全なプロトコルである HTTPS が推奨されるためです。
Camera Usage Description デバイスのカメラにアクセスする理由を入力します。
Microphone Usage Description デバイスのマイクにアクセスする理由を入力します。
Location Usage Description デバイスの位置情報にアクセスする理由を入力します。
Use On-Demand Resources これを有効にして、オンデマンドリソースを使用します。

有効にすると、Variant map for app slicing セクションが表示されます。
Accelerometer Frequency 加速度センサーをサンプリングする頻度を定義します。 周波数は 15Hz30Hz60Hz100Hz に設定できます。パフォーマンスを向上させるには、より低い周波数を使用します。アプリケーションが加速度センサーを使用しない場合は、Disabled を選択します。
Mute Other Audio Sources Unity アプリケーションのバックグラウンドで実行されているアプリケーションからの音声を停止する場合は、このオプションを有効にします。それ以外の場合は、バックグラウンドアプリケーションからのオーディオが Unity アプリケーションと一緒に引き続き再生されます。
Prepare iOS for Recording このオプションを有効にして、マイクレコーディング API を初期化します。 これにより、レコーディングの遅延が短縮されますが、iPhone のオーディオ出力がイヤホン経由で再ルーティングされます。
Force iOS Speakers when Recording このオプションを有効にすると、ヘッドフォンが接続されてレコーディングしている場合でも、電話のオーディオ出力が内蔵スピーカーを通じて送信されます。
Requires Persistent WiFi Wi-Fi 接続が必要な場合は、このオプションを有効にします。これにより、アプリケーションの実行中も Wi-Fi 接続がアクティブ状態に維持されます。
Supported URL schemes 適用する URL スキーム のリスト。

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

デバイス情報 

設定 機能
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 GitHub プロジェクトを参照してください。オプションは以下のとおりです。

- 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>: この設定の値を入力します。

その他の設定

設定 機能
Architecture ターゲットとするアーキテクチャを選択します。iOS の場合、この設定はデフォルトで ARM64 に設定されており、変更できません。
Active Input Handling ユーザーからの入力をどのように処理するか選択します。
Input Manager (old) デフォルトの Input ウィンドウを使用します。
Input System Package (New) 新しい Input システムを使用します。新しい Input System の使用を試すには、InputSystem パッケージ をインストールしてください。
Both 両方のシステムを同時に使います。

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

iOS プラットフォームのスクリプトコンパイル設定
iOS プラットフォームのスクリプトコンパイル設定
プロパティ 説明 
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

iOS プラットフォームの Optimization 設定
iOS プラットフォームの Optimization 設定
設定 機能
Prebake Collision Meshes ビルド時間に メッシュ に衝突データを追加します。
Keep Loaded Shaders Alive シェーダーのアンロードを禁止するかどうかを示します。

詳細については、「シェーダーのロード」(shader-loading) を参照してください。
Preloaded Assets プレイヤーが起動時にロードするアセットの配列を設定します。
新しいアセットを追加するには、Size プロパティの値を大きくしてから、新しく表示された Element ボックス内に、ロードするアセットへの参照を設定してください。
AOT compilation options Ahead of Time (AOT) コンパイルの追加オプション。これは、ビルドした iOS プレイヤーのサイズ最適化 に役立ちます。
Strip Engine Code プロジェクトで使用されていない Unity エンジン機能のコードを Unity Linker ツールで削除する場合は、このオプションを有効にします。この設定は、IL2CPP スクリプティングバックエンド でのみ使用できます。

ほとんどのアプリケーションは、利用可能なすべての DLL を使用するわけではありません。 このオプションは、アプリケーションが使用しない DLL を削除して、ビルドされるプレイヤーのサイズを削除します。アプリケーションが、現在の設定では通常は削除されるクラスを使用している場合、そのアプリケーションをビルドしようとすると、Unity はデバッグメッセージが表示します。
Managed Stripping Level 未使用のマネージ (C#) コードを Unity がどの程度積極的に除去するかを選択します。提供されているオプションは、MinimalLowMediumHigh です。
アプリケーションのビルド時に、Unity リンカーの処理によって、プロジェクトの使用するマネージ DLL から、使用されていないコードを取り除くことができます。コードを取り除くと、実行ファイルのサイズが大幅に小さくなりますが、使用されているコードが誤って削除されることがあります。

これらのオプションと、IL2CPP によるバイトコードストリッピングに関する詳細は、ManagedStrippingLevel を参照してください。
Script Call Optimization ランタイムの速度を上げるために例外処理方法をどのような方法で無効にするかを選択します。詳細については、iOS 最適化 を参照してください。
Slow and Safe 完全な例外処理を行います (Mono スクリプティングバックエンドを使用する場合、デバイスのパフォーマンスに多少の影響があります)。
Fast but no Exceptions デバイス上の例外にはデータが提供されません (Mono スクリプト バックエンドを使用する場合、アプリケーションの実行が速くなります)。
ノート: このオプションを IL2CPP スクリプティングバックエンドと一緒に使ってもパフォーマンスに影響を与えませんが、リリースビルドでの未定義の動作を回避するのに役立つ可能性があります。
Vertex Compression チャンネルごとの頂点圧縮を設定します。これはプロジェクト内の全てのメッシュに影響します。
通常は、Vertex Compression は、メモリ上のメッシュデータのサイズを縮小して、ファイルサイズを縮小し、GPU パフォーマンスを向上させるために使用されます。

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

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

詳細は PlayerSettings.stripUnusedMeshComponents を参照してください。
Strict shader variant matching シェーダーバリアントが欠落している場合、エディターはコンソールにエラーメッセージを表示しながら、明るいピンクのエラーシェーダーを使用します。
Texture MipMap Stripping 全てのプラットフォームでミップマップストリッピングを有効にします。これにより、ビルド時に、使用されていないミップマップがテクスチャから取り除かれます。Unity は、ミップマップの値を現在のプラットフォームの Quality Settings と比較することによって、使用されていないミップマップを特定します。ミップマップの値が現在のプラットフォームの全ての Quality Setting から除外されている場合は、Unity は、ビルド時にそれらのミップマップをビルドから削除します。QualitySettings.masterTextureLimit に、取り除かれたミップマップ値が設定されている場合、Unity は、取り除かれていない最も近いミップマップ値をそこに設定します。

Logging

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

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

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

Legacy

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

PlayerSettingsiOS

iOS 環境設定
iOS 用の開発