Unity 6.2で、Editor上からAndroidManifest.xmlのappCategoryを指定できるようになりました。
Unity 6.2のリリースノートの該当箇所は次の通りです。
Android: Added support for app categories, which allows users to retain Android 15 orientation and rotation behavior on Android 16.
appCategoryの指定はUnity Eidotr上の、Edit > Project Settings... > Player > Androidタブ > Other Settings > Configurationの「App Category」からできます。
このappCategoryを指定できて何がうれしいかというと、Android 16以降の大きい端末での画面回転抑制に関係します。
Android公式サイト「Android Developers」の「動作の変更点: Android 16 以上をターゲットとするアプリ」には次のような説明があります。
Android 16(API レベル 36)では、大画面デバイスに表示されるアプリに対して次の変更が加えられています。
アダプティブ レイアウト
Android アプリは、スマートフォン、タブレット、折りたたみ式デバイス、デスクトップ、自動車、テレビなど、さまざまなデバイスで動作するようになり、大画面のウィンドウ モード(分割画面やデスクトップ ウィンドウなど)も利用できるようになりました。そのため、デベロッパーは、デバイスの向きにかかわらず、あらゆる画面サイズやウィンドウ サイズに対応できる Android アプリを構築する必要があります。画面の向きやサイズ変更を制限するなどのパラダイムは、今日のマルチデバイスの世界では制限が厳しすぎます。
ざっくり、
「Android 16の画面が大きい端末(sw600dp以上)で動作し」 かつ 「target API Level 36でビルドしたAndroidアプリ」では、「画面の回転抑止」や「画面のリサイズ抑止」を指定していも、それらができなくなる。
ということです。
ところが、これはに例外があります。
Android 16 の画面の向き、サイズ変更、アスペクト比の制限は、次の場合には適用されません。
- ゲーム(android:appCategory フラグに基づく)
- デバイスのアスペクト比設定でアプリのデフォルトの動作を明示的に選択しているユーザー
- sw600dp より小さい画面
つまりappCategoryにgameを指定することで、サイズ変更・アスペクト比の制限が適用されなくなるとのことです。
参考リンク
AndroidManifest.xmlのapp category
Unity 6.2のリリースノート