Version: 2020.1
言語: 日本語
Unity をネイティブ iOS アプリケーションに統合
Unity の iOS サポート機能の基本

iOS 用ゲームの開発について

iPhone や iPad のようなデバイス向けにゲームをビルドするには、デスクトップ PC 向けゲームとは異なるアプローチが必要です。PC マーケットと異なり、iPhone や iPad のようなハードウェアは標準化されていて、専用ビデオカードをもつコンピューターほど高速で強力ではありません。このため、これらのプラットフォーム向けのゲーム開発のアプローチは少し異なります。さらに iOS 向けの Unity の機能はデスクトップ PC 向けの機能とは若干異なります。

Apple Developer アカウントの設定

デバイス向けにビルドするためには、 Apple Developer アカウントは必要ありません。テストの目的で自身のデバイスだけにビルドするには、どんな種類の Apple ID でも十分です。

ただし、実際のデバイスで Unity iOS ゲームを実行する前に、Apple Developer アカウントを設定することを推奨します。これは iOS で Unity の最大限の能力を発揮させるために必要だからです。これには、チームの作成や、デバイスの付加、プロビジョニングプロファイルの決定が含まれます。これらすべての設定は Apple Developer ウェブサイトを通して行います。これは複雑なプロセスなので、iOS デバイスでコードを実行する前に完了すべきタスクの 基本的な概要 をまとめました。Apple の iPhone デベロッパーポータル の手順ごとの説明とともに、参照してください。

Unity XCode プロジェクト

Unity iOS ゲームをビルドするとき、XCode プロジェクトが生成されます。このプロジェクトには署名、コンパイル、そして、ディストリビューション用にゲームを準備する必要があります。詳細については Unity XCode プロジェクトの構成 を参照してください。

iOS 機能へのアクセス

Unity はスクリプティング API を提供し、マルチタッチスクリーンや、加速度計、GPS 機能、その他多くの機能へのアクセスを提供します。スクリプトのクラスについては iOS のスクリプト を参照してください。

ネイティブ C、C++、Objective-C のコードをスクリプトからアクセス可能にする

Unity により、C 、C++、Objective-C で書かれたカスタムのネイティブな関数を C# スクリプトから呼び出せます。ネイティブ関数をバインドする方法については、プラグイン を参照してください。

アプリ内課金のためのアプリケーションを準備する

Unity iOS ランタイムを使うと、新しいコンテンツをダウンロードすることができ、これを使ってアプリ内課金を実装できます。詳細については ダウンロード可能なコンテンツ を参照してください。

スプラッシュスクリーンのカスタマイズ

起動時にゲームが表示する画像を変更する方法に関しては、iOS スプラッシュスクリーンのカスタマイズ を参照してください。

トラブルシューティングとクラッシュ時のレポート

もし iOS デバイスでクラッシュを経験しているのであれば iOS デバイスでのトラブルシューティング ページで良くある問題や解決策について参照してください。もしここで解決策を見つけられない場合、クラッシュに関するバグレポートを提出してください (Unity エディターで Help > Report A Bug を選択)。

Unity で iOS とデスクトップをターゲットにする場合の違い

オーディオ圧縮

Unity は、さまざまなソース形式のサウンドファイルに対応しています。ただし、(トラッカーファイルを除いて) これらのファイルはインポートされる際に必ずビルドのターゲット形式にエンコードし直されます。この形式はデフォルトでは Vorbis になっていますが、プラットフォームごとに必要に応じて他の形式 (ADPCM、MP3 など) に変更可能です。iPhone では、MP3 による再生のほうが Vorbis に比べて若干高パフォーマンスです。

DXT テクスチャ圧縮の代わりに PVRTC

Unity iOS は DXT テクスチャをサポートしていません。その代わりに PVRTC テクスチャ圧縮が iPhone/iPad によりネイティブでサポートされています。iOS のテクスチャ形式については テクスチャインポート設定 を参照してください。

動画/ビデオの再生

ビデオファイルを再生するには、Video Player の使用を推奨します。Video Player は以前の Movie Texture 機能に代わるものです。


  • Video Player コンポーネントは Unity 5.6 で追加
Unity をネイティブ iOS アプリケーションに統合
Unity の iOS サポート機能の基本