Я много гуглил при сбое Unity Player при смене ориентации, я не нашел полезного решения.
Поэтому, поскольку это было осуществимо, я заблокировал свою ориентацию только в режиме «ландшафт».
Для этого
Шаг 1: Настройки Unity Player
Перейдите в «Редактирование»> «Настройки проекта»> «Player», откроет «Настройки проигрывателя».в инспекторе.
Выберите целевую платформу из списка.
Щелкните раздел «Разрешение и представление».
Установите для ориентации по умолчанию значение Пейзаж влево / вправо.
См. Этот блог: https://answers.unity.com/questions/774186/landscape-mode-only.html
Шаг 2: Изменения кода Android.
В файле манифеста,
<activity
android:name=".UnityPlayerActivity"
android:label="@string/app_name"
android:launchMode="singleTask"
android:screenOrientation="landscape"
android:theme="@style/UnityThemeSelector">
<meta-data
android:name="unityplayer.UnityActivity"
android:value="true" />
</activity>
Кроме того, программно настройте ориентацию.
private int screenOrientation;
// lock screen orientation to landscape mode only.
screenOrientation = ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE;
setRequestedOrientation(screenOrientation);