Version: 2018.2
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 アプリケーション起動時のステータスバーのスタイルを指定します。選択肢には DefaultBlack TranslucentBlack Opaque があります。
Disable Depth and Stencil これをチェックすると、深度バッファとステンシルバッファが無効になります。
Show Loading Indicator 起動のインジケーターをどのように表示するかを選択します。オプションには Don’t Show (非表示)、 White Large (大きいサイズの白)、 White (白)、 Gray (グレー) があります。

スプラッシュ画像

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

Launch Images

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

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 プロパティーに関する詳細は スプラッシュスクリーン を参照してください。

プロパティー 機能
Virtual Reality Splash Image Specify the texture that should be used for the iOS splash screen on a Virtual Reality application.
Use Storyboard for Launch Enable this option to show the Custom Storyboard button. Click the button to select a storyboard to show when your game starts up on the device. For your storyboard to appear here, you firstly need to create the storyboard in Xcode and copy it to your Project.
Legacy Launch Images
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 の制限に適切なものになります。
Graphics APIs Set the graphics APIs to use for rendering. Click the + icon to add an API and the - icon to remove an API. When a device supports more than one Graphics API, Unity uses the first item in the ordered list. Click and drag an API in the list to change the order. This will only appear when Auto Graphics API is unchecked.
Color Gamut Set the color gamut to use for rendering. When targeting recent iOS devices with wide color gamut displays, use DisplayP3 to utilize full display capabilities. Use Metal Editor Support as a fallback for older devices.
Metal Editor Support Unity Editor が Metal API を使用し、Metal API に適応する高速なシェーダーイテレーションのロックを解除します。Metal API Validation はグラフィックス関連のエラーを素早くキャッチするのに役立ちますが、パフォーマンスは低下します。詳しくは、Metal API の検証 を参照してください。
Force hard shadows on Metal Forces Unity to use point sampling for shadows on Metal. This reduces shadow quality, which should give better performance.
Metal Restricted Backbuffer Use デフォルトではないデバイスの向きでパフォーマンスを向上させます。これにより、バックバッファに frameBufferOnly フラグを設定します。これは、バックバッファからの読み直しを防ぎますが、ドライバ-の可能になる最適化もあります。
Multithreaded Rendering Enable multithreaded rendering. This is only supported on Metal.
Static Batching ビルドの静的バッチングを使用するには、これを設定します (デフォルトでは有効)。
Dynamic Batching ビルドに動的バッチングを使用するには、これを設定します。
GPU Skinning DX11/ES3 GPU スキニングを有効にするか
Identification
Bundle Identifier Apple Developer Network アカウントのプロビジョニング証明書に使用されている文字列。(これは iOS と Android で共通)。
Bundle Version ビルドバージョンが上がったことを示す (リリースされたかどうかにかかわらず) バンドルのビルドバージョン番号を指定。バージョンはドットで区切られた数字を含む一般的な文字列の形式 (4.3.2 など) で指定されます。
Build ビルド番号をここに入力して、作成されたビルドの数を追跡することができます。
Signing Team ID Set this property with your Apple Developer Team ID. You can find this on the Apple Developer website under Account > Membership. This sets the Team ID for the generated Xcode project, allowing developers to use the Build and Run functionality. An Apple Developer Team ID must be set here for automatic signing of your app. For more information, see Creating Your Team Provisioning Profile.
Automatically Sign Enable this to allow Xcode to automatically sign your build.
iOS Provisioning Profile Specify an Apple provisioning profile to allow your game to run on all your iOS devices and use app services. Click the Browse button to select a downloaded provisioning profile file. The Profile ID is the internal ID of the provisioning profile set in the Xcode project, for example: 1234abcd-12ab-12ab-12ab-1234abcd1234. This appears automatically when you select a provisioning profile file, or you can enter it manually.
Note: This property only appears when Automatically Sign is unchecked.
Configuration
Scripting Runtime Version プロジェクトで使用する .NET ランタイムを選択します。詳細は、Microsoft の .NET ドキュメント を参照してください。
     .NET 3.5 Equivalent A .NET runtime which implements the .NET 3.5 API. This is the default scripting runtime.
     .NET 4.x Equivalent A .NET runtime which implements the .NET 4 API. This API is newer than .NET 3.5, and as such, it offers access to more APIs, is compatible with more external libraries, and supports C# 6.
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 互換性のサブセット、ファイルサイズは小さめ。
C++ Compiler Configuration Choose whether to compile your IL2CPP generated code in Debug or Release mode:
- Debug Use Debug mode for debugging because it turns off all optimizations. This makes the code quicker to build but slower to run.
- Release Use Release mode for testing and delivery to users because it enables optimizations. This makes the compiled code run faster and the binary size smaller, but it takes longer to compile.
Use on Demand Resource 有効にすると、オンデマンドのリソースが使用可能になります。
Accelerometer Frequency 加速度計がサンプリングされる頻度。 オプションは、Disabled (つまり、サンプリング無し)、15Hz30Hz60Hz100Hz
Camera Usage Description Allows you to enter the reason for accessing the camera on the iOS device.
Location Usage Description Allows you to enter the reason for accessing the location of the iOS device.
Microphone Usage Description Allows you to enter the reason for accessing the microphone on the iOS device.
Mute Other Audio Sources これを有効にすると、Unity は、バックグラウンドで実行しているアプリケーションからのオーディオを停止します。バックグラウンドアプリケーションからのオーディオを Unity のアプリケーションと一緒に再生したい場合は、これを無効にします。
Prepare iOS for Recording これを有効にすると、マイク録音の API が初期化されます。これにより録音時の遅延が減りますが、iPhone では音声の出力先がイヤホンに限定されてしまいます。
Forcing iOS Speakers when recording Make the phone output through the internal speakers, even when headphones are plugged in and recording.
Requires Persistent WiFi アプリケーションの Wi-Fi 接続を必須にするかを指定します。チェックを付けると iOS はアプリケーションが実行されている間、有効な Wi-Fi 接続を維持します。
Allow downloads over HTTP (nonsecure) When this option is enabled it will allow you to download content over HTTP. Default and recommended is HTTPS.
Supported URL schemes サポートされる URL スキーム の一覧
Disable HW Statistics デフォルトでは Unity 製の iOS アプリは匿名ハードウェア統計を Unity に送っています。 これにより、開発者としての意思決定に役立つ集約的な情報を取得できます。これらの統計は http://stats.unity3d.com/ をご覧ください。これらの統計情報の送信を停止するには、このオプションを有効にします。
Target Device ゲームの対象デバイスをどれにするか。オプションには iPhone Only, iPad Only, iPhone + iPad があります。
Target SDK ゲームの対象SDKをどれにするか。オプションには iPhone OnlyDevice SDKSimulator SDK があります。
Target minimum iOS Version Defines the minimum version of iOS that the game will work.
Enable ProMotion Support Enable high frequency refresh rates (120 Hz) on ProMotion displays. Enabling this setting might affect battery life.
Requires ARKit support Restricts the app to iPhone 6s/iOS 11 or newer devices when publishing to the App Store.
Defer system gestures on edges Users must swipe twice on the selected edges to enact system gesture.
Hide home button on iPhone X Hide the home button on iPhone X devices when the app is running.
Render Extra Frame on Pause Issue an additional frame after the frame when the app is paused. This allows your app to show graphics that indicate the paused state when the app is going into the background.
Behaviour in Background ホームボタンが押された場合の実行内容を指定します。
- Suspend これは、標準挙動です。アプリケーションは一時停止しますが、途中終了はしません。
- Exit アプリケーションを中断するのではなく、終了させます。
- Custom バックグラウンドプロセスで独自の挙動を実装できます。 例を参照してください。
Architecture どのアーキテクチャを使用するか選択するオプションです。デフォルトで Universal が推奨されています。Arm64-only オプションを選択するのは、ハイエンド端末でのみ動作させるアプリケーションの場合にのみ適切です。Armv7 は整合性を求める場合向けです。
- Universal 推奨されるオプションです。両方のアーキテクチャをサポートしています。
- Armv7 型の古い Armv7 アーキテクチャのみをサポートします。
- Arm64 型の新しい Arm64 アーキテクチャのみサポートします。
- x86_64 Simulator SDK に使用できる唯一のアーキテクチャ。x86–64 アーキテクチャをサポートします。
Scripting Define Symbols カスタムコンパイルフラグ (詳細はプラットフォーム依存コンパイル を参照してください)。
Allow ‘unsafe’ Code Enables support for compiling ‘unsafe’ C# code in a pre-defined assembly (for example, Assembly-CSharp.dll). For Assembly Definition Files (.asmdef), click on one of your .asmdef files and enable the option in the Inspector window that appears.
Active Input Handling Choose to handle input using the Input Manager, the Input System (Preview), or Both. If you change this setting, you must restart Unity for the change to take effect.
Optimization
Prebake Collision Meshes ビルド時に衝突データをメッシュに追加するか。
Keep Loaded Shaders Alive Retains shaders in memory for faster access when the player starts the game up.
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–06–28 編集レビュー を行って修正されたページ

  • Mute Other Audio Sources は 5.5で追加

  • iOS Player Settings のドキュメントは Unity 2018.1 で追加

  • ‘unsafe’ コードのチェックボックスは Unity 2018.1 で追加

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

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