iPhone および iPad のようなデバイス向けにゲームをビルドすることはデスクトップ PC 向けゲームとは異なるアプローチが必要です。PC マーケットと異なり、ターゲットのハードウェアは標準化されていて、また専用ビデオカードをもったコンピューターほど高速で協力ではありません。このためこれらプラットフォーム向けのゲーム開発のアプローチは少し異なって行う必要があります。さらに iOS 向けの Unity の機能はデスクトップ PC のそれとは若干異なります。
デバイス向けにビルドするために Apple Developer アカウントは必要ありません。テストの目的であなた自身のデバイスだけにビルドするには、どんな種類の Apple ID でも十分です。
ただし、実際のデバイスで Unity iOS ゲームを実行する前に、Apple デベロッパーアカウントがを設定することをお勧めします。これは iOS で Unity の最大限の能力を発揮させるために必要だからです。これには、チームの決定、デバイスの追加、およびプロビジョニングプロファイルの最終化を含みます。これらすべては Apple のデベロッパー Web サイトを通して実施します。これは複雑なプロセスなので、iOS デバイスでコードを実行する前に実施すべきタスクの アカウントセットアップ をまとめました。Apple の iPhone デベロッパーポータル の手順とともに、参照してください。
Unity iOS ゲームをビルドするとき、XCode プロジェクトが生成されます。このプロジェクトは署名、コンパイルしたうえディストリビューション用にゲームを準備する必要があります。詳細については Unity XCode プロジェクトの構成 を参照してください。
Unity はいくつかのスクリプティング API によりマルチタッチスクリーン、加速度計、GPS 機能、およびその他多くの機能へのアクセスを提供します。スクリプトのクラスについては iOS のスクリプト を参照してください。
Unity により、C、C++、または Objective-C で書かれたカスタムの関数を C# スクリプトからコールできます。ネイティブ関数をバインドする方法については、プラグイン を参照してください。
Unity iOS ランタイムにより、新しいコンテンツをダウンロードする機能があり、これを使ってアプリ内課金を実装できます。詳細については アプリケーションでの を参照してください。
Unity は オクルージョンカリング をサポートしていて、多くのオブジェクトのある複雑なシーンでパフォーマンスを高めるのに便利です。特に、モバイルデバイスを開発するのに非常に効果的です。詳細については オクルージョンカリング を参照してください。
iOS スプラッシュスクリーンのカスタマイズ により起動時にゲームが表示する画像を変更する方法を確認できます。
もし iOS デバイスでクラッシュを経験しているのであれば iOS デバイスでのトラブルシューティング ページで良くある問題や解決策について参照してください。もしここで解決策を見つけられない場合、クラッシュに関するバグレポートを提出ください。(メニューで: Unity エディター上で Help > Report A Bug を選択)。
iOS 向けの場合、JavaScript の Dynamic Type はつねに Unity でオフになっています(これはスクリプトに #pragma strict
を自動的にすべてのスクリプトに付加しているのと同等です)。Static Type はパフォーマンスを著しく改善し、iOS デバイスでは特に重要なことです。既存の iOS プロジェクトを iOS ターゲット向けに切り替えるとき、Dynamic Type を使用しているとコンパイルエラーが出ます。これを修正するのは簡単で、エラーが出ている変数を明示的に宣言するか、type インターフェースを活用するかのどちらかの方法で解決できます。
Unity は、さまざまなソース形式のサウンドファイルに対応しています。ただし、(トラッカーファイルを除いて)これらのファイルはインポートされる際に必ずビルドのターゲット形式にエンコードし直されます。この形式はデフォルトでは Vorbis になっていますが、プラットフォームごとに必要に応じて他の形式(ADPCM、MP3 など)にオーバーライド可能です。iPhone では、MP3 による再生のほうが Vorbis に比べて若干高パフォーマンスです。
Unity iOS は DXT テクスチャをサポートしていません。その代わりに PVRTC テクスチャ圧縮が iPhone/iPad によりネイティブでサポートされています。iOS のテクスチャ形式については テクスチャインポート設定 を参照してください。
ムービーテクスチャは iOS でサポートされていません。その代わりに、フルスクリーンのストリーミングプレイバックがスクリプティング関数を通じて提供されています。サポートされているファイル形式およびスクリプティング API についてはマニュアルの ムービーテクスチャ を参照してください。