[Unity]リリースする前にチェックする項目(備忘録)

Unityで制作したアプリをリリースした際に起きた問題を繰り返さないために。

そしてこれから初めてアプリをリリースする方が同じ過ちを犯さないようにするために。

 

リリース前にチェックしておきたいことをまとめておきます。

 

 

1.外部ストレージへの書き込み権限が付与されているか

(Android版のみ)

 

——————————————————————–

[解決方法]

UnityのPlayer Settings->Other Settings->Configuration->Write Access

の設定を External(SDCard) にする

unity_external(sdcard

 

もしくは、AndroidManifest.xmlに


<user-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

を記述する。

——————————————————————–

 

 

外部ストレージへの書き込み権限を付与し忘れてリリースしてしまうと、

下記のような問題が発生します。

 

・セーブがされない(外部ファイル等でセーブしている場合)

・画像をSNSシェアしようとすると、エラーが発生する(端末によって強制終了する)

 

さらに、この問題に気づいて書き込み権限を付与すると、

下記のような問題が発生します。

 

・権限付与前にセーブできていた人のセーブデータが消える

(正確には、セーブ先のパスが変わるので、消えたようにみえる)

 

こうなると、もうレビューが荒れまくります。

必ずリリース前にチェックしましょう。

 

2.セーブ・ロード処理

2-1.OnApplicationPause と OnApplicationQuit に気をつけろ

セーブ処理を行う際、

OnApplicationPause と OnApplicationQuitでセーブ処理をするのはいいのですが、

Androidの端末によっては、この2つの処理を通さずに終了する方法があるようです。

 

そのため、上記2つの処理を信用してセーブ処理をしていて、

強制終了したとき用に念のため3分に1回セーブする。

とか僕のようなヌルいことをやっていると痛い目をみます。

 

ステージクリア型等の区切りが分かりやすいゲームの場合はあまり気にしなくていいと思いますが、

放置ゲーのような場合は、ゲームの状況が少しでも変わったら即座にセーブするくらいの感じでいいと思います。

(強化ボタン押したら即セーブとか…)

 

2-2.開始直後のデータでセーブできないようにする

例えばですが、

チュートリアルなどが終了するまでは、セーブしない

といったような処理をした方が良いです。

 


void saveAll(){
	if ( is_tutorial == false){
		// セーブ処理
	}
}

 

何故かというと、iPhone等でUnityロゴが表示されている状態等でアプリを終了すると、
セーブデータをロードする前にOnPauseやOnQuitが走ってしまい、
ゲームの初期データでセーブデータを上書きしてしまう
という、なんとも悲しい結果になってしまうからです。
(まぁ、そうならない対策くらいやっとけよという話なのですが…)

 

そのために、確実にゲームを進めたデータでないとセーブできないようにしておきましょう。

 

別にチュートリアル云々である必要はありません。
敵を倒した数が1体以上だったら等、好きな設定にしてください。

 

3.カメラの設定を再確認しよう

カメラを2:3や16:9で固定している場合、

余った部分を黒帯にしていると思いますが、

黒帯用の背景カメラを設定し忘れると、端末によって表示がおかしくなります。

 

↓実例

CHV236UUYAAeKrb

 

 

まぁ、これを忘れるのは僕くらいだと思いますが…

 

以上!!

 

また何かあったら追記します!

LINEで送る
Pocket

You can leave a response, or trackback from your own site.

Leave a Reply

*

Powered by WordPress | Designed by: wordpress themes 2011 | Thanks to Best WordPress Themes, Find WordPress Themes and