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

見つかりませんでした

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

古いアセット

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

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

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

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

Triggers on concave MeshColliders are not supported

https://forum.unity.com/threads/concave-mesh-colliders-can-no-longer-act-as-triggers-unity-5.316892/

新しい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両サポートはできません。