📝

Unityでの新規リリースとアップデート対応

2021/05/09に公開

はじめに

この資料では、Unityでの新規リリースやアップデートなどで発生する(発生した)必要な対応の内容をまとめます。

ゲームの開発やコンテンツに対するアップデートだけではスマートフォンのストア(iOS、Android)にリリースできません。
毎年発生する対応(Unityアップデート)と新しい機能対応(プラットフォーム対応)が必要になります。オフィシャル情報をチェックしてスケジュールに組み込みスムーズにリリースできるようにしましょう。

関連

オフィシャル

Unity Technologies Blogを確認しましょう。英語を日本語に翻訳したものが数日で登録されます。最新情報はRSSフィードリーダーを使って確認すると便利です。
最新のリリースはUnity ReleasesRSS/Release)、Unity LTS ReleasesRSS/LTS Release)でウォッチできます。
Unity Issue Trackerでどのような問題が上がっているか確認できます。
Unity Learning MaterialsUnity Pro Tipsでは基本的な使い方から最新機能の情報までまとめられていて参考になります。

リンク一覧

新規リリース

新規で開発する場合に使うUnityはどのバージョンを使う?

最新のLTSを使いましょう。また、リリース前になるべく最新のLTSに移行しておきましょう。
TECHに使いたい機能がある場合は、リリース時期にLTSへアップデートできるものであれば選択するのはありだと思います。

新しいバージョンのUnityインストールはどうする?

UnityのインストールはUnityHubを使いましょう。
複数バージョンの管理が簡単にできます。

ライセンスをまとめておきましょう

Package Managerで導入したライブラリー、AssetStoreで購入したAsset、外部のライブラリーなどアプリにリンクするライブラリー。
フォント[1]などの外部作成されたアセットでライセンスを整理しておきましょう。
アプリ内でライセンス表記が必要だったり、商用利用時に特別な対応を行わなければいけないことがあります。
リリース後に発覚して、慌てて対応する状況ならないように準備しましょう。

毎年発生する対応

Unityアップデート


Unity 2023.3 coming April 2024 with updates for graphics and performance | Unity Blogより

Unity 6(元Unity 2023)は2024/4にリリースされる。LTSは2024/年末にリリース予定。

2019から2022 LTSまで

Unity の新しいリリースプラン:TECH ストリームと長期サポート(LTS)ストリームの導入 より

TECHからLTSになると、その後2年間バグフィックスが行われます。LTSは春頃リリースされます。
たとえば、LTS初回の2018.4.0f1は2019/5/10。最終の2018.4.34f1は2021/4/15。[2]

スマートフォン向けのタイトルの場合はOSアップデートに追従しないといけません。そのため、Unityのバージョンをアップデートする必要があります。
問題になるのは、毎年最新にアップデートするか?2年に1回アップデートするのか?

LTSのアップデートでどれぐらい工数を必要とするかで変わってきます。
そのため、対応内容を把握する必要があります。

Unityのアップデートに関しては最新版の変更点から影響範囲を把握する必要があります。
オフィシャルで上げたBlogやLearningで変更点を把握して、プロジェクトで使用している機能に影響がないかを確認しておきましょう。

また、自作ライブラリー、Package Managerで導入したライブラリー、AssetStoreで購入したAsset、外部のライブラリー(Firebase[3]など)、広告SDKなど修正や差し替えが必要になる場合があります。自分たちで作成していないものでコードも提供されているものであれば修正できますが。バイナリ形式のみで提供されているものはアップデートを待つ必要があります。[4]

試しに移行する予定のバージョンのUnityをインストールを行いプロジェクトをビルドして動作するか確認してみましょう。ビルドできない、ビルドできるが実行するとクラッシュする、よくわからないがうまく動いてるなど状態を見ることで状況を把握できます。

ある程度大きな規模のプロジェクトでは、設計がモダンで変更強くテストが準備されていれば2か月から3か月ぐらい。そうではい場合は半年以上必要かもしれません。規模や人員を考えてスケジュールをたてましょう。[5]

サポート終了

Unity 2021

https://www.youtube.com/watch?v=A-vn2Av2fWE

Unity 2022

Unity 6(Unity 2023)

新しい機能対応

Android

不定期ではありますが、課金やPUSHなどを最新のモジュールにアップデートする必要があります。
新規アプリ、アップデートどちらも対応が必要です。締め切りが決まっていますので、工数計算してスケジュールを確保し対応しましょう。

詳細は、「Androidでの新規リリースとアップデート対応」を参照してください。

iOS

不定期ではありますが、レビューガイドライン更新や旧機能の削除のために対応する必要があります。
新規アプリ、アップデートどちらも対応が必要です。締め切りが決まっていますので、工数計算してスケジュールを確保し対応しましょう。

詳細は、「iOSでの新規リリースとアップデート対応」を参照してください。

ストア対応

GooglePlayStore

新規アプリは8月、アップデートは11月までに最新OSバージョンの、ひとつ前のOSバージョンのAPIレベル対応が必須になります。[6]
新規アプリ、アップデートどちらも対応が必要です。締め切りが決まっていますので、工数計算してスケジュールを確保し対応しましょう。

詳細は、「Androidでの新規リリースとアップデート対応」を参照してください。

AppStore

毎年3月か4月頃に指定のXcodeバージョン以上にアップデートしないとリリースできなくなります。[7]
新規アプリ、アップデートどちらも対応が必要です。締め切りが決まっていますので、工数計算してスケジュールを確保し対応しましょう。

詳細は、「iOSでの新規リリースとアップデート対応」を参照してください。

脚注
  1. あとは、BGM/SEなど ↩︎

  2. 2020.3.0f1は2021/3/11リリース ↩︎

  3. Firebaseはたまに影響大きい変更あるので注意が必要。 [Question] Game Package Registry (GPR) by Google will shut down on May 19, 2021 · Issue #1030 · firebase/quickstart-unity ↩︎

  4. アップデート打ち切りの場合は代替の手段を準備する必要がある ↩︎

  5. この辺りはプログラマーがスケジュール考えて工数を確保しないとデスマーチが待っている ↩︎

  6. たとえば、Android 11(APIレベル30)がリリースされた後に、Android 10(APIレベル29)対応が必須になります。 ↩︎

  7. たとえば、2021年はXcode12へのアップデートが必須になりました。 ↩︎

Discussion