この記事について
UnityでiOSアプリを作る際、画面の縦横切り替えはProject Settings・スクリプト・Xcode(Info.plist)での設定確認が欠かせません。
この記事では、基本設定の方法、動的な切り替えの実装例、よくあるエラーと対策、審査での注意点までを分かりやすく解説します。
この記事でわかること
- Build Profilesでの設定手順
- Xcode 側でのInfo.plistのチェックポイント
- スクリプトで動的に向きを切り替えるサンプルコード
- ビルド後に向きが変わってしまう “あるある” エラーの原因と対策
- App Store 審査でNGにならないための注意点
iOSの縦画面・横画面の切り替えとは?
Unityアプリでは、タイトル画面は縦固定、プレイ画面は横固定といったように、シーンごとに画面の向きを変えるケースがよくあります。これを正しく設定するためには、UnityとXcodeの両方で調整が必要です。
画面の縦横切り替え・Xcode(Info.plist)での確認
Project Settingsで画面の切り替え設定
UnityではProject SettingsのOrientationの「Default Orientation」で変更可能です。
場所としては「Edit」→「Project Settings」→「Player」→「Resolution and Presentation」→「Orientaion」→「Defalut Orientation」にあります。
ここでデフォルトの画面向きを設定します。

スクリプトで動的に向きを制御する方法
例えばホーム画面は縦向き、プレイ画面は横向きに固定したい場合、動的に変更する必要があります。そんなときは「ScreenOrientation」が便利です。
using UnityEngine;
public class OrientationLocker : MonoBehaviour
{
// 起動時に縦画面に固定する処理を呼び出す
void Awake()
{
LockPortrait();
}
// 縦画面に固定するメソッド
public void LockPortrait()
{
// 縦画面を基本の向きとして指定
Screen.orientation = ScreenOrientation.Portrait;
// 横画面は許可しない
Screen.autorotateToLandscapeLeft = false;
Screen.autorotateToLandscapeRight = false;
// 通常の縦向きだけを許可
Screen.autorotateToPortrait = true;
// 逆さまの縦向きは許可しない
Screen.autorotateToPortraitUpsideDown = false;
}
// 横画面に固定するメソッド
public void LockLandscape()
{
// 横画面を基本の向きとして指定
// LandscapeLeftを指定しているが、autorotateを両方ONにすることで
// 端末の持ち方に応じて左横・右横の両方に対応できる
Screen.orientation = ScreenOrientation.LandscapeLeft;
// 横画面(左・右)を許可
Screen.autorotateToLandscapeLeft = true;
Screen.autorotateToLandscapeRight = true;
// 縦画面は許可しない
Screen.autorotateToPortrait = false;
Screen.autorotateToPortraitUpsideDown = false;
}
}
Info.plistで縦横の設定を確認
今回は「Landskape Left」でビルドします。ビルドが終わるとMacbookで「Info.plist」をチェックします。
以下のキーが Unity の設定と一致しているか確認しましょう。
- Supprted interface orientations
もし一致していないと、アプリが意図しない向きで起動してしまう原因になります。

iOS実機で起動してみると、画面が横向きになり、縦画面時の上側が左に来るようになりました。
ビルド後によくあるエラーと対策
- 原因: UnityとXcodeの設定が食い違っている
- 対策: Info.plistの内容をUnityの設定に合わせて修正
これを怠ると「画面が勝手に横向きで起動する」「特定の端末で回転が効かない」といった不具合につながります。
App Store審査での注意点
Appleのガイドラインでは、不要な画面回転や強制固定がユーザー体験を損なう場合、リジェクト対象になることがあります。
ポイントは一貫性です。アプリの利用シーンごとに自然な画面向きを選び、無理に回転を制御しすぎないことが重要です。
まとめ
- Unityの Project Settings で基本の向きを指定
- 必要に応じて スクリプトで動的に制御
- ビルド後は XcodeのInfo.plistを確認
- エラーはUnityとXcodeの設定不一致が原因になりやすい
- 審査を通すには「ユーザーが自然に使える画面向き」にすることが大切