Unity4からUnity2019へアップデートするという無茶をして得られた知見

はらぺこウィッチーズ - Google Play のアプリ
カドカwに怒られたので5年ぶりの更新は問題のある画像をいったんベタで塗りつぶしたんだな 暇なときにもでcienかpixivfanboxのプランの特典に無修正windows版作るんだな お腹をすかせたターニャのために エイナがセウロイに奪われた食べ物を取り戻す 3Dシューティング

カドカwに怒られたので急遽画像を差し替えるなどの対応が必要になりunity4のプロジェクトをunity2019.4でビルドしなくてはだめになりました。

スポンサーリンク

古いアセット

UIはNGUIです。幸い今でもアップデートが続いており、古いのを削除してpackagemanager から最新盤に差し替えることでmissingになることなくアップデートできました。

文字フォントまわりの仕様が大幅に変わっており、それだけは新規に作成し直す必要がありました。ただし参照自体はUIAsset.assetに集約されていたため、全てのUILabelを直して回るみたいなことはしませんでした。

広告アセットは削除しました。

シェーダーも動かないものがありましたが使っていなかったため削除しました。

Triggers on concave MeshColliders are not supported

Concave Mesh Colliders can no longer act as triggers (Unity 5)?
Hi All Has anyone else noticed that mesh colliders can only act as triggers if they are marked as 'Convex'? This is opposite to previous behavior,...

新しいPhysXでサポートされなくなったため、MeshColliderでOnTRiggerEnter系は廃止されました。

capsuleをたくさん組み合わせて疑似的に対応しました。

Application.LoadSceneXXX系廃止

SceneManager.LoadScene系に置き換えました。

Keystoreのエイリアスが変なものを指してる

KeyStoreを最近使ってるやつに差し替えました。当然ハッシュ値が異なるためplay consoleは拒否します。

仕方ないので古いオリジナルのkeystoreに戻しました。しかしprojectSettingsに保存されたエイリアス名が上記keystoreのものになっていました。そしてエディタで正しい値にセットしてもビルドするとgradleがエラーを吐きます

ProjectSettingsをなんかのエディタで開き、直接エイリアス名を書き換えました。

ITMS-90109: This bundle is invalid

今回は古い機種を切り捨てる(target ios versionをあげる)で対応しました。unity2019.4.12ではバグのためarmv7とarm64両サポートはできません。