[Unity] スクリプトからプラットフォームを判別して処理を分ける方法

ゲームアプリを開発しているとき、「Android ではこの文字を表示させたい」「iOS ではこの文字を表示させたくない」といったプラットフォームごとの処理を施したいと思ったことはないでしょうか?

このページでは、

  • プラットフォームをスクリプトから判別する方法

を説明します。

Android と iOS の両方でアプリを作りたいと思っている方にとっては非常に重要なので、ぜひご覧ください。

 

| プラットフォームをスクリプトから判別する方法

プラットフォームをスクリプトから判別するには、プラットフォーム依存コンパイルという機能を使いましょう。

プラットフォーム依存コンパイルとは、コンパイルの前処理の段階でプラットフォームを判別できる機能です。

実際のコードを見てみましょう。

プリプロセッサ #if を用いて、プラットフォームの種類によって処理を分けています。

プリプロセッサって何?よく分からない
という方は「[Unity] ifと#ifの違いって何?プリプロセッサとは」をご参照ください。

また、プラットフォームのマクロ定義 (UNITY_EDITOR など) の種類を知りたい方は、Unity 公式のマニュアルをご参照ください。

では、Unity 上での動作を確認してみましょう。

 

プラットフォームが “PC, Mac & Linux Standalone” の場合

ユニティエディター

実行すると、

コンソール

コード8行目が実行され、コンソールに ” Unity Editor “が表示されます。

 

プラットフォームが “iOS” の場合

iPhone

実行すると、

iOSのコンソール

コード4行目が実行され、コンソールに ” iOS ” が表示されます。

 

プラットフォームが “Android” の場合

アンドロイド

実行すると、

Androidのコンソール

コード6行目が実行され、” Android ” が表示されます。

 

実際の開発では、プラットフォームごとに実装したい処理を分けてコードの中に入れることで、プラットフォームごとの処理を実装することができます。

ぜひ、活用してください。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です