Version: 2017.4
iOS ハードウェアガイド
iOS 2D テクスチャ オーバーライド

iOS Player Settings

このページでは iOS 用の Player Settings を詳しく説明します。Player Settings 全体の説明については プレイヤー設定を参照してください。

Unity では iOS 7.0 以上が必要です。 iOS 6.0 以前のバージョンはサポートしていません。

Icon

ノート: アイコンテクスチャが削除されると、サイズが最も近いアイコンテクスチャが適度にスケールされて使用されます (より解像度の高いテクスチャが優先されます)。

プロパティー 機能
Application icons 各 iOS デバイスのアプリケーションに表示するカスタム製のアイコンを指定します。
Spotlight icons 各 iOS デバイスのゲームの Spotlight 検索結果に表示するカスタム製のアイコンを指定します。
Settings icons 各 iOS デバイス自体の設定画面に表示するカスタム製のアイコンを指定します。
Notification icons ゲームにお知らせを送信するときに各 iOS デバイスで表示するカスタム製のアイコンを指定します。
Marketing icons 各 iOS デバイスで使用する App Store でゲームを表示するカスタム製のアイコンを指定します。

Resolution and Presentation

プロパティー 機能
Resolution Scaling
Resolution Scaling Mode スケールを初期設定画面解像度以下に設定します。FixedDPI にすると、デバイスの画面解像度を元の解像度より低くし、Target DPI プロパティーを表示します。これを使用して、パフォーマンスとバッテリー寿命を最適化したり、特定の DPI 設定をターゲットにできます。Disabled にすると、スケールは適用されず、ゲームは元の画面解像度にレンダリングされます。
Target DPI ゲーム画面のターゲット DPI を設定します。デバイスの初期設定画面の DPI がこの値よりも高い場合、ゲーム画面はこの設定に合わせて縮小されます。このオプションは、Resolution Scaling ModeFixed DPI に設定されている場合にのみ表示されます。
Orientation
Default Orientation
この設定は、iOS と Android デバイスで共有されます。
ゲーム画面の向き。このオプションは以下のとおり。 Portrait (ホームボタンが下側にある通常の状態)、 Portrait Upside Down (ホームボタンが上側にある逆さまの状態)、 Landscape Left (ホームボタンが右側にある状態)、 Landscape Right (ホームボタンが左側にある状態)、 Auto Rotation (デバイスの向きに応じて画面の向きを変更)
Use Animated Autorotation 画面の向きを変更するときに、単に切り替わるだけでなくアニメーションさせる場合はこのボックスをチェックします。このオプションは Default OrientationAuto Rotation に設定されている場合にのみ表示されます。
Allowed Orientations for Auto Rotation (このオプションは Default OrientationAuto Rotation に設定されている場合のみ表示されます。)
Portrait 縦長方向が可能。
Portrait Upside Down 縦長の逆向きが可能。
Landscape Right 横長方向の右向き (ホームボタンが 側にある状態) が可能。
Landscape Left 横長方向の左向き (ホームボタンが 側にある状態) が可能。
Multitasking Support
Requires Fullscreen ゲームをフルスクリーンで表示する必要がある場合はこのボックスをチェックします。
Status Bar
Status Bar Hidden このボックスをチェックすると、アプリケーションの起動時にステータスバーが非表示になります。
Status Bar Style アプリケーション起動時のステータスバーのスタイルを指定します。オプションには DefaultLight があります。
Disable Depth and Stencil これをチェックすると、深度バッファとステンシルバッファが無効になります。
Show Loading Indicator 起動のインジケーターをどのように表示するかを選択します。オプションには Don’t Show (非表示)、 White Large (大きいサイズの白)、 White (白)、 Gray (グレー) があります。

Splash Image

iOS でスプラッシュイメージを実装する方法には Launch ImagesLaunch Screen の 2 つがあります。

Launch Images

Launch Images は画面全体に表示される静的なスプラッシュスクリーン画像です。

iOS 7 を搭載するデバイスを使用する場合、起動画面のオプションで選べるのは Launch Images だけです。iOS 7 以前のバージョンはサポートされていません。iOS 8 以降を使用するデバイスに関しては、Launch ImagesLaunch Screens いずれかを使用できます。

Launch Images は Asset Catalog (Images.xcassets/LaunchImage) で定義されます。常に、それぞれのサイズと向きの組み合わせに適応した Launch Screen を追加します。

横向きは iPhone 6 以降でのみサポートされています。他の iPhone は縦向きにのみ設定できます。起動時の画像は以下の順番で選択されます。

  • テクスチャが設定されている場合は、特定の Launch Image によってオーバーライドされます。
  • デフォルトの Unity スプラッシスクリーン起動画像

ビルドに対し、すべての Launch Images を設定する必要があります。

Launch Screens

Launch Screen は iOS が動的にデバイス上でスプラッシュスクリーンを生成するのに使用する XIB ファイルです。

Launch Screens には制限があります。iPad のデバイスの向きに応じて異なるコンテンツを表示することはできません。すべての iPhone は横向きの Launch Screens をサポートしています。ただし、iOS のバグのため、iOS バージョンによっては Landscape Right の代わりに Landscape Left が表示される場合があります。

ノート: 多種プラットフォームに適応する Splash Image プロパティーに関する詳細は スプラッシュスクリーン を参照してください。

プロパティー 機能
Mobile Splash Screen iOS のスプラッシュスクリーンに使用するテクスチャを指定。標準のスプラッシュスクリーンサイズは 320x480 (このサイズは Android と iOS で共通です)。
iPhone 3.5"/Retina iOS 3.5" Retina のスプラッシュ画面に使用されるべきテクスチャを指定。スプラッシュ画面サイズは 640x960。
iPhone 4"/Retina iOS 4" Retina のスプラッシュ画面として使用されるべきテクスチャを指定。スプラッシュ画面サイズは640x1136。
iPhone 4.7"/Retina iOS 4.7" Retina のスプラッシュ画面で使用するテクスチャを指定。スプラッシュ画面サイズは750x1334。
iPhone 5.5"/Retina iOS 5.5" Retina のスプラッシュ画面で使用するテクスチャを指定。スプラッシュ画面サイズは1242x2208。
iPhone 5.5" Landscape/Retina iOS 5.5" Retina の横向きスプラッシュ画面で使用するテクスチャを指定。スプラッシュ画面サイズは2208x1242。
iPhone X\Retina iPhone X Retina のスプラッシュスクリーンで使用するテクスチャを指定。スプラッシュスクリーンサイズは 1125x2436。
iPhone X Landscape\Retina iPhone X Retina の横向きスプラッシュスクリーンで使用するテクスチャを指定。スプラッシュスクリーンサイズは 2436x1125。
iPad Portrait iPad の縦向きのスプラッシュスクリーンとして使用するテクスチャを指定。標準のスプラッシュスクリーンサイズは768x1024。
iPad Landscape iPad の横向きのスプラッシュスクリーンとして使用するテクスチャを指定。標準のスプラッシュスクリーンサイズは1024x768。
iPad Portrait/Retina iPad Retina の縦向きのスプラッシュスクリーンとして使用するテクスチャを指定。標準のスプラッシュスクリーンサイズは1536x2048。
iPad Landscape/Retina iPad Retina の横向きのスプラッシュスクリーンとして使用するテクスチャを指定。標準のスプラッシュスクリーンサイズは2048×1536。
Launch Screen type Launch Screen タイプから以下のオプションが選べます。
- None まるで、起動画像のみを使用したような挙動になります。
- Default 起動画像と非常によく似た起動画面。横向き縦向きで 1 つの画像が選択されます。選択の優先順位は、iPhone 6+ の起動画像、モバイル共有の起動画像、iPhone 6+ のデフォルトの Unity 起動画像。画像は Aspect Fill モードで表示されます。
- Image with background (relative size) 画像は中央に位置揃えされ、残りの部分は単色で塗りつぶされて表示されます。画像サイズは、ユーザーが指定した画面サイズのパーセンテージで、小さい方の寸法で計算されます (横向きの縦寸法、縦向きの横寸法)。 また、ユーザーは、縦向きと横向きの背景色と画像を指定します。選択の優先順位は、ユーザーが指定した画像、モバイル共有の起動画像、iPhone 6+ のデフォルトの Unity 起動画像。画像は Aspect Fill モードで表示されます。
- Image with background (constant size) ほぼ Image with background (relative size) オプションと同じですが、ユーザーが画像サイズをポイント数で指定する点が異なります。
- Custom Xib ユーザーが指定した XIB ファイルを使用します。

Unity Personal Edition では、選択されたスプラッシュスクリーンに加え、エンジンが初期化されるとすぐに Unity スプラッシュスクリーン が表示されます。

Debugging and crash reporting

プロパティー 機能
Enable Internal Profiler (Deprecated) アプリケーションのパフォーマンスデータを収集し、コンソールにレポートを表示する内部プロファイラーを有効にします。レポートは毎フレーム動作する Unity のサブシステムを記録するためミリ秒単位で表示されます。データは30フレームの平均になります。
On .Net UnhandledException .NET で処理されない例外の場合に取られるアクションを選択します。オプションは Crash (アプリケーションがクラッシュすることはほとんどありません。アプリケーションのユーザーは iOS に iTune に送信できるクラッシュレポートを生成させ、開発者が検査することができます) と Silent Exit (アプリケーションを正常終了します) です。
Log ObjC uncaught exceptions 例外情報をコンソールに表示するカスタム Objective-C Uncaught Exception ハンドラーを有効にします。
Enable Crash Report API クラッシュ情報を取得するためのカスタムクラッシュレポーターを有効にします。クラッシュログは CrashReport API 経由で利用可能です。

Other Settings

プロパティー 機能
Rendering
Color Space Gamma 色空間、または__Linear__ 色空間をレンダリングに使用します。詳細は、リニアレンダリング概要 を参照してください。 Linear 色空間は、Metal グラフィックス API でのみサポートされます。
Auto Graphics API どのグラフィック API を使用するか選択するためのオプションです。チェックを付けた場合、Unity は Metal の使用を試み、デバイスが Metal に対応していない場合は GLES2 を使用します。チェックを付けていない場合、手動でグラフィック API の選択や使用優先度の変更ができます。手動でAPI を 1 つ選択するとアプリケーションの info.plist の内容は変更され、App Store の制限に適切なものになります。
Metal Editor Support Unity Editor が Metal API を使用し、Metal API に適応する高速なシェーダーイテレーションのロックを解除します。Metal API Validation はグラフィックス関連のエラーを素早くキャッチするのに役立ちますが、パフォーマンスは低下します。詳しくは、Metal API の検証 を参照してください。
Static Batching ビルドの静的バッチングを使用するには、これを設定します (デフォルトでは有効)。
Dynamic Batching ビルドに動的バッチングを使用するには、これを設定します。
GPU Skinning DX11/ES3 GPU スキニングを有効にするか
Identification
Bundle Identifier Apple Developer Network アカウントのプロビジョニング証明書に使用されている文字列。(これは iOS と Android で共通)。
Bundle Version ビルドバージョンが上がったことを示す (リリースされたかどうかにかかわらず) バンドルのビルドバージョン番号を指定。バージョンはドットで区切られた数字を含む一般的な文字列の形式 (4.3.2 など) で指定されます。
Build ビルド番号をここに入力して、作成されたビルドの数を追跡することができます。
iOS Developer Team ID このプロパティーに Apple Developer Team ID を設定します。この ID は Account > Membership の Apple Developer web サイトで確認できます。このプロパティーは生成した Xcode プロジェクトの Team ID を設定し、開発者が Build and Run 機能を使用できるようにします。アプリケーションの自動署名を行うには、ここに Apple Developer Team ID を設定することが必須です。
Configuration
Scripting Backend IL2CPP と Mono スクリプティングバックエンドのいずれかを選択できます。デフォルトは IL2CPP で、通常の状況では古い Mono バックエンドに切り替える必要はありません。特に IL2CPP に関連するバグがある場合を除き、Mono を選択しないでください。Mono のビルドは App Store では受け入れられておらず、Mono は iOS 11 以降ではサポートされません。
Api Compatibility Level 有効な .NET API プロファイルを指定します。以下を参照してください。
- .Net 2.0 .Net 2.0 ライブラリ。最大の .Net 互換性、ファイルサイズは最大。
- .Net 2.0 Subset フルの .Net 互換性のサブセット、ファイルサイズは小さめ。
Use on Demand Resource 有効にすると、オンデマンドのリソースが使用可能になります。
Accelerometer Frequency 加速度計がサンプリングされる頻度。 オプションは、Disabled (つまり、サンプリング無し)、15Hz30Hz60Hz100Hz
Location Usage Description このフィールドにユーザーの場所にアクセする理由を入力すると、そのときに理由が表示されます。
Mute Other Audio Sources これを有効にすると、Unity は、バックグラウンドで実行しているアプリケーションからのオーディオを停止します。バックグラウンドアプリケーションからのオーディオを Unity のアプリケーションと一緒に再生したい場合は、これを無効にします。
Prepare iOS for Recording これを有効にすると、マイク録音の API が初期化されます。これにより録音時の遅延が減りますが、iPhone では音声の出力先がイヤホンに限定されてしまいます。
Requires Persistent WiFi アプリケーションの Wi-Fi 接続を必須にするかを指定します。チェックを付けると iOS はアプリケーションが実行されている間、有効な Wi-Fi 接続を維持します。
Behaviour in Background ホームボタンが押された場合の実行内容を指定します。
- Suspend これは、標準挙動です。アプリケーションは一時停止しますが、途中終了はしません。
- Exit アプリケーションを中断するのではなく、終了させます。
- Custom バックグラウンドプロセスで独自の挙動を実装できます。 例を参照してください。
Allow downloads over HTTP (nonsecure) このオプションを有効にしたときに HTTP 経由でコンテンツをダウンロードすることができます。デフォルトは HTTPS で、使用が推奨されています。
Supported URL schemes サポートされる URL スキーム の一覧
Disable HW Statistics デフォルトでは Unity 製の iOS アプリは匿名ハードウェア統計を Unity に送っています。 これにより、開発者としての意思決定に役立つ集約的な情報を取得できます。これらの統計は http://stats.unity3d.com/ をご覧ください。これらの統計情報の送信を停止するには、このオプションを有効にします。
Architecture どのアーキテクチャを使用するか選択するオプションです。デフォルトで Universal が推奨されています。Arm64-only オプションを選択するのは、ハイエンド端末でのみ動作させるアプリケーションの場合にのみ適切です。Armv7 は整合性を求める場合向けです。
- Universal 推奨されるオプションです。両方のアーキテクチャをサポートしています。
- Armv7 型の古い Armv7 アーキテクチャのみをサポートします。
- Arm64 型の新しい Arm64 アーキテクチャのみサポートします。
- x86_64 Simulator SDK に使用できる唯一のアーキテクチャ。x86–64 アーキテクチャをサポートします。
Scripting Define Symbols カスタムコンパイルフラグ (詳細はプラットフォーム依存コンパイル を参照してください)。
Optimization
Api Compatibility Level アクティブな .NET API のプロファイルを指定します。以下を参照してください。
- .Net 2.0 .Net 2.0 ライブラリ。最大の .net 互換性を持ち、ファイルサイズは最大。
- .Net 2.0 Subset .Net 2.0 の部分的な .net 互換性を持ち、ファイルサイズは .Net 2.0 より小さい。
Prebake Collision Meshes ビルド時に衝突データをメッシュに追加するか。
Preload Shaders プレーヤーの起動時にシェーダーを読み込むか
Preloaded Assets プレーヤーの起動時にアセットの配列を読み込むか
AOT compilation options 追加の AOT コンパイラ オプション
Strip Engine Code コードストリップを有効にします(この設定は IL2CPP スクリプティングバックエンドでのみ有効です)
Script Call Optimization ランタイムの速度を上げるために例外処理をオプショナルで無効にします。詳しくは iOS 特有の最適化 を参照してください。
- Slow and Safe 完全な例外処理を行います (Mono スクリプティングバックエンドを使用する場合は、デバイスのパフォーマンスに影響を与えることがあります)。
- Fast but no Exceptions デバイスの例外に対してデータを提供しません (Mono スクリプティングバックエンドを使用する場合は、ゲームの実行は高速で行われます)。
Vertex Compression どの頂点チャンネルを圧縮するかを選択します。圧縮はメモリと帯域幅を節約できますが、精度が低くなります。
Optimize Mesh Data メッシュ (接線、法線、色、UV) に適用されるマテリアルに必要のないすべてのデータをメッシュから取り除きます。

注意: 適切な SDK を選択してください。例えば、Device SDK を選択して、Xcode でシミュレーターをターゲットとすると、大量のエラーが発生しビルドに失敗します。

API Compatibility Level

すべてのターゲットに対して Mono API の互換性レベルを選択できます。使用したい .NET 互換性レベル以外を使用するサードパーティ製の .net dll があります。そのような場合に何が起こっているのか、それを最もうまく解決する方法を理解するには、Windows に Reflector を入手してください。

API 互換性レベルに問題が疑われる .NET アセンブリを Reflector にドラッグします。これらは Frameworks/Mono/lib/mono/YOURSUBSET/ にあります。 1. サードパーティ製のアセンブリもドラッグ&ドロップします。 1. サードパーティ製のアセンブリを右クリックして Analyze を選択します。 1. 分析レポート (Analysis Report) の中で、Depends on セクションを調べます。サードパーティ製品が依存しながらも、選択した .NET 互換性レベルに含まれないものはすべてここで赤字で表示されます。

Bundle Identifier

Bundle Identifier の文字列は、ビルドしたゲームのプロビジョニングプロファイルと一致する必要があります。識別子の基本的な構成は com.CompanyName.GameName です。この構成は、居住している国によって異なりますので、必ず Developer Account 用に Apple から提供された文字列をデフォルトとしてください。GameName は、Apple iPhone Developer Center の Web サイトから管理できるプロビジョニング証明書で設定されています。詳細は Apple iPhone Developer Center を参照してください。

Stripping Level

たいていのゲームはすべての必要な dll を使用しているわけではありません。 Strip Engine Code を有効にすると、使用しない部分を取り除き、 iOS デバイスでビルドされたプレイヤーのサイズを削減します。現在選択しているオプションによって通常は削除されるはずのクラスをゲームで使用している場合は、ビルドするときにデバッグメッセージが表示されます。

Script Call Optimization

iOS の優れた開発方法は、例外処理 (内部的、または try/catch ブロックの使用のいずれでも) に決して依存しないことです。デフォルトの Slow and Safe オプションを使用すると、デバイス上で発生する例外がすべてキャッチされ、スタックトレースが提供されます。Fast but no Exceptions オプションを使用すると、例外が発生するとゲームがクラッシュし、スタックトレースは提供されません。さらに、プロジェクト固有のコードが例外情報にアクセスできるように、AppDomain.UnhandledException イベントが発生します。

Mono スクリプティングバックエンドを使用する場合は、プロセッサーが例外処理のためにその能力を使う必要がないため、ゲームはより高速で実行されます。 IL2CPP スクリプティングバックエンドを使用する場合は、Fast but no Exceptions によるパフォーマンスへの恩恵はありません。ゲームをリリースするときは、Fast but no Exceptions オプションで公開するのが最善です。

XR Settings

プロパティー 機能
XR Settings
Virtual Reality Supported Unity エディターとゲームビルドに対しネイティブの VR サポートを有効にします。
Vuforia Augmented Reality Supported Vuforia Software Development Kit の使用を可能にします。プロパティーを使用可能にするためには、Vuforia Software License を所有し、ライセンス条項に同意する必要があります。

インクリメンタルビルド

IL2CPP スクリプティングバックエンドで生成された C++ コードは、ソースファイルが変更された部分だけ C++ ビルドシステムがコンパイルして更新することができます。これは IL2CPP スクリプティングバックエンドで無駄なビルド時間を省くことができます。

インクリメンタルビルドは、Build Settings ダイアログから Build ボタンを選択した後、Append オプションを選択すると使用できます。


  • 2018–05–29 編集レビュー を行って修正されたページ

  • Mute Other Audio Sources は 5.5で追加

iOS ハードウェアガイド
iOS 2D テクスチャ オーバーライド