Unity で iOS アプリを作るとき、画面の向き(オリエンテーション)を固定しないと、
メニューが逆さまに表示されたり、ゲームプレイ中に UI が崩れたりといった思わぬトラブルが起こります。
本記事では 「縦固定」/「横固定」 の両方に対応した最適な設定手順を、初心者にもわかりやすく解説します。
この記事でわかること
- Unity Editor での Player Settings 設定手順
- Xcode 側での Info.plist のチェックポイント
- スクリプトで動的に向きを切り替える サンプルコード
- ビルド後に向きが変わってしまう “あるある” エラーの原因と対策
- App Store 審査 で NG にならないための注意点
Unity Editorでの設定
File › Build Settings → “Player Settings…” をクリック。
Playerを選択 → 右側のiOSを選択 →“Resolution and Presentationが対象です。

項目 | 推奨値(縦固定) | 推奨値(横固定) |
---|---|---|
Default Orientation | Portrait | Landscape Left (または Right) |
Allowed Orientations for Auto-Rotation(Unity6以降?) | Portrait のみ ON | Landscape Left / Right のみ ON |
Xcode (Info.plist)での確認
ビルドが終わったらInfo.plist をチェックします。
以下のキーが Unity の設定と一致しているか確認しましょう。

スクリプトで動的に向きを制御する方法
一部のシーンだけ横向きにしたい。そんなときは ScreenOrientation API が便利です。
using UnityEngine;
public class OrientationLocker : MonoBehaviour
{
// 例:Awake 時に縦固定
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()
{
Screen.orientation = ScreenOrientation.LandscapeLeft;
Screen.autorotateToLandscapeLeft = true;
Screen.autorotateToLandscapeRight = true;
Screen.autorotateToPortrait = false;
Screen.autorotateToPortraitUpsideDown = false;
}
}
よくある落とし穴とデバッグTips
症状 | 原因 | 対策 |
---|---|---|
iPad で勝手に横になる | UISupportedInterfaceOrientations~ipad が縦横両方 | 不要な向きを削除 |
起動画面 (Launch Screen.storyboard) だけ横になる | Launch Screen の View が横固定 | Storyboard の View 属性を “Inferred” に |
特定シーンだけ UI が伸びる | Canvas Scaler が “Match Width Or Height” のまま | 縦横別 Canvas を用意 or スクリプトで切替 |
App Store Connect で “システム回転不可” 警告 | Info.plist と実装が矛盾 | 設定・コード両方を統一 |
まとめ
- 最優先は Player Settings:ここで正しく設定すれば 8 割は解決。
- Info.plist を必ず確認:Unity からの自動生成を鵜呑みにしない。
- 動的制御は Screen.orientation:ただし Info.plist に同じ向きを許可する。
- 審査リジェクト防止のため “宣言外のオリエンテーション” をゼロに。
これで 縦固定/横固定 のトラブルに悩まされることなく、安心して iOS 向け Unity アプリをリリースできます。
ぜひプロジェクトに取り入れてみてください!