(:3[kanのメモ帳]

個人ゲーム開発者kan.kikuchiのメモ的技術ブログ。月木更新でUnity関連がメイン。

(:3[kanのメモ帳]


本ブログの運営者kan.kikuchiが個人で開発したゲームです!

    

Device Simulatorを使ってるかの判定と、何のデバイスやOSを使ってるか取得する方法【Unity】


このエントリーをはてなブックマークに追加


この記事でのバージョン
Unity 2022.2.2f1


はじめに

UnityにはGameViewでセーフエリアやノッチも含めた色々な端末をシュミレート出来る

公式機能Device Simulatorというものがあり、一昔前は導入の必要がありましたが、



最近はデフォルトで入ってるので、より簡単に使う事出来るようになりました。


今回はこのDevice Simulatorを使っているかどうかの判定と、

何のデバイスやOSを使ってるのか取得する方法の紹介です!



UnityEngine.Device

まず、デバイスやOSの情報はUnityEngine.SystemInfoから取得出来ますが、

これはSimulatorを考慮しておらず、実際の端末の情報しか取得出来ません。

Debug.Log($"実行しているデバイス : {UnityEngine.SystemInfo.deviceModel}");
Debug.Log($"実行しているOS : {UnityEngine.SystemInfo.operatingSystem}");


なので、Simulator込みの情報を得るにはUnityEngine.Deviceを使います。



例えばデバイスやOSを取得してみると以下のような感じに。

Debug.Log($"実行しているデバイス : {UnityEngine.Device.SystemInfo.deviceModel}");
Debug.Log($"実行しているOS : {UnityEngine.Device.SystemInfo.operatingSystem}");


なお、Device Simulatorを使ってない時は実際の端末の情報が取得出来ますし、

実機(リリースビルド)でもそのまま使えるので、基本的にはこれだけ使えばOKです。


また、SystemInfoの値を比較すればDevice Simulatorを使ってるかの判定も行えます。

Debug.Log($"Simulatorを使っているか : {UnityEngine.SystemInfo.deviceModel != UnityEngine.Device.SystemInfo.deviceModel}");


ちなみにSystemInfoだけでなく、Device.ScreenDevice.Applicationもあります。