デバイス特有のプロパティには、アクセス可能なものがいくつかあります。詳細は以下のページを参照してください。SystemInfo.deviceUniqueIdentifier、SystemInfo.deviceName、SystemInfo.deviceModel、SystemInfo.operatingSystem
海賊行為をする者は、ときにアプリケーションをハッキングして (AppStore DRM プロテクションを外して)、アプリケーションを無料で再配布してしまいます。Unity では、海賊版かどうかをチェックする仕組みがあり、AppStore に提出した 後でも アプリケーションが変更されたかを判断することができます。
アプリケーションがハッキングされていない純正なものであるかを Application.genuine でチェックすることができます。もしこのプロパティが false を返した場合、アプリケーションがハッキングされたものであるとユーザーに通知したり、アプリケーションの一部の機能へのアクセスを無効化できます。
注意 Application.genuineCheckAvailable は、Application.genuine と一緒に使用して、アプリケーションに一貫性があるかの確認を検証することが必要です。Application.genuine プロパティへのアクセスは、とても高価な操作であるためフレームの更新中やスピードが重視されるコードのときに使用すべきではありません。
バイブレーションを行うには Handheld.Vibrate を呼び出します。バイブレーションの機能がないデバイスでは、この呼び出しは無視されることに注意してください。
モバイル OS には内蔵のアクティビティインジケーターがあり、処理に時間がかかる時に表示すると便利なものです。使用例については Handheld.StartActivityIndicator docs を参照してください。
iOS/Android では、自由に画面の向きを変更することができます。ユーザーが持っている端末の向きに応じてゲーム画面も変更させたり、ユーザーがデバイスを持つ向きに合わせてゲームの動作を調整したい場合に特定の向きのみ回転させることも可能です。
デバイスの向きは Screen.orientation から取得することができます。以下のような向きがあります。
Portrait | 縦向きのモードです。デバイスを直立させると、ホームボタンは下になります。 |
PortraitUpsideDown | 縦向きのモードです。ただし、デバイスを直立させると、ホームボタンが上になります。 |
LandscapeLeft | 縦向きのモードです。デバイスを直立させると、ホームボタンが右側になります。 |
LandscapeRight | 縦向きのモードです。デバイスを直立させると、ホームボタンが左側になります。 |
画面の向きを指定する場合は Screen.orientation に特定の向きを設定し、画面の向きに合わせ回転させるには ScreenOrientation.AutoRotation を使用します。自動に回転させる場合でも、状況に応じて、一部の向きを無効にすることもできます。詳細は以下のページを参照してください。Screen.autorotateToPortrait、Screen.autorotateToPortraitUpsideDown、Screen.autorotateToLandscapeLeft、Screen.autorotateToLandscapeRight
デバイスの世代によって、サポートされている機能に違いがあり、さらにパフォーマンスも差があります。そのため、デバイスの世代を判定して、遅さを補うためにどの機能を無効にするかを決めなければなりません。デバイスの世代は iOS.DeviceGeneration で判定することができます。
デバイスの世代ごとの情報、パフォーマンス、サポートされている機能については iOS ハードウェアガイドガイド を参照してください。