TomoGのごちゃまぜ倉庫

Unity プラットフォームの判別方法

2018/11/27 ページ全体修正

今回はUnityでマルチプラットフォームへ対応するため
プラットフォームを判別する方法をメモ書きします。

マルチプラットフォームに対応とは

有名なゲームや大手の会社が作っているゲームは、AndroidiPhoneでもプレイできると思います。本来AndroidiPhoneはプラットフォームが違うので、別々にプログラムを書いていかなければいけません。

この複数のプラットフォームでもプレイできることをマルチプラットフォーム対応といいます。携帯に限らず、据え置きハードとPCでも同じことが言えます。

このマルチプラットフォームに対応するため、必要となる今プレイしているプラットフォームは何なのかの判別。これを今からご紹介していきます。

◇方法1

    private void judge1()
    {
#if UNITY_EDITOR

#elif UNITY_IPHONE
        
#elif UNITY_ANDROID

#else
        
#endif
    }

詳細なプロパティーはこちら ↓
docs.unity3d.com

1つ目はコンパイル時に切り替えるという方法です。
ほとんどの場合こちらで事足ります。

◇方法2

    private void judge2()
    {
        if(Application.platform == RuntimePlatform.Android)
        {

        } else if(Application.platform == RuntimePlatform.IPhonePlayer)
        {

        } else if(Application.platform == RuntimePlatform.WindowsPlayer)
        {

        }
    }

詳細なプロパティーはこちら ↓
Unity - Scripting API: RuntimePlatform

こちらはプログラム自体で処理を変更するという方法です。
少し条件文が入っているので複雑になっていまうかもしれませんが、こういう方法もあります。