原因1:BuildPipeline.BuildPlayer を使ったビルドで発生
BuildPipeline.BuildPlayer でビルドをする時に PlayerSettings の設定を変更しているがその変更が反映されない為に発生します。詳細は以下のページがとても分り易くてオススメです。簡単に説明すると Unity のバグみたいで true に設定する向きを先に、 false に設定する向きを後に記述すると正しく反映されるみたいです。
Landscapeのみのautorotationにしようとしたらportrait設定が活きてしまう問題対応 - Qiita
http://qiita.com/takeswim/items/dff6a6be5afa258ac474
原因2:AndroidManifest.xml を自前で準備した場合に発生
別のパターンとしては AndroidManifest.xml を自前で準備した場合に発生します。
※自分が追加していなくてもなんらかのライブラリ系のアセットを追加された時に自動生成される場合も有るので注意。プロジェクト内で AndroidManifest.xml を検索してみる事をオススメします。
対処方法としては AndroidManifest.xml の activity タグに android:screenOrientation を追加します。
例えば、横向き限定にしたい場合には sensorLandscape を、縦向きの場合には sensorPortrait を指定します。
【記述例】
<activity android:name=".MainActivity" android:label="@string/app_name" android:theme="@style/AppTheme.NoActionBar" android:screenOrientation="sensorLandscape" > <intent-filter>
設定可能な向きは公式サイトのこちらのページに記載が有ります。
こちらのサイトでは日本語で解説されています。
screen orientationの設定値とその効果一覧 - 日々精進
http://anton0825.hatenablog.com/entry/2015/05/12/000000