僕はここだ!

読書記録とか、ポエムとか、メモとか、コードスニペットとか。まとまったのはQiitaにも書きます。(http://qiita.com/RyotaMurohoshi) 掲載内容は個人の見解であり、所属する企業を代表するものではありません。

趣味個人開発ゲームアプリをUnity 2017.4からUnity 2018.3にアップデートした

趣味でUnity製のゲームモバイルアプリを作っています。今は、3個のゲームアプリをGoogle Play・AppStoreに公開しています。

2018年から2019年の年末年始でこれらのゲームアプリを、Unity 2017.4からUnity 2018.3にアップデートしました。アップデートしたものは、すでにアプリストアに反映されています。

この投稿ではその背景と作業内容を説明します。

Unityのアップデートサイクル

2018年の年末、TechリリースであるUnity 2018.3が出ました。これはLTSになるUnity 2018.4とほぼ機能的に差はないバージョンですね。

「LTSってなんだっけ? 」「Unityのアップデートサイクルってどうだっけ」という人は、次に紹介するブログ・資料でぜひUnityのアップデートサイクルを確認してみてください。

https://blogs.unity3d.com/jp/2018/04/09/new-plans-for-unity-releases-introducing-the-tech-and-long-term-support-lts-streams

こちらのブログより。

TECH ストリームでの、あるメジャーリリースのサポートは、そのメジャーリリースの次のバージョンがリリースされると同時に終了します。

LTS ストリームでのリリースは 2 年間サポートされます。それぞれのリリースへの Unity のアプローチは上記に述べた以外の点でも変化します:

またこちらのユニティ・テクノロジーズ・ジャパンの黒河さんの発表がまとまっていて、とても参考になります。

learning.unity3d.jp

アップデートした理由

このタイミングで私がアップデートした理由を紹介します。


Q : Unity 2017.4 LTSがサポート期間があと1年間あるのに、なんで今したの?

A :

確かにサポート期間はあと1年あるね。 だから1年後に「Unity 2017.4 LTS => Unity 2019.4 LTS」ってアップデートも可能かもしれないね。 けれど2年間前のUnityからアップデートするのってかなり大変そうだから、Unity 2017.4 => Unity 2018.3ってアップデートにしたよ!

「あと1年間ある」っていうか「あと1年しかない」と思っているよ!

それからUnity 2018.xが.NET Standard対応してたからだよ。


Q : Unity 2018.3って今はまだバグが多いって聞いたけどなんで今したの?Unity 2018.4 LTSを待った方がよかったんじゃない?

A :

そうだね。Unity 2018.4 LTSを待つのもアリだと思うよ!

俺は年末年始のこのタイミングでしか、まとまった時間を取れない可能性があったから、今やったよ! 2018.4(LTS)がリリースされたら、またアップデートするよ! 2018.3は2018.4(LTS)とほぼ機能は一緒だから、2018.3から2018.4(LTS)へのアップデートはすぐできると予想しているよ。

会社のプロダクトとか、個人でも時間をかけているプロダクトとかの場合は、LTSの正式公開を待った方がいいと思うよ! だけどそんな場合でも、今からUnity 2018.3を試して技術調査とか、問題が出ないかとかをやってみた方が、いいと思うよ!


Q : Unity 2018.1や2018.2は試していなかったの?アップデートしていなかったの?

A :

Unity 2018.1や2018.2は面白そうな機能だけ試していたよ!

実は2018.2にアップデートできないか試したことがあったよ。1個のゲームアプリのアップデートを、実機デバックする所までしていたのだけれども、リリースする所までやっていなかったよ。(結局その作業ブランチは破棄したよ!)

アップデートして「はい、終わり!」じゃなくて、リリースするところまでやるのが大事だって思ったよ!

公開済みのゲームは、使いたい機能がない限り、LTSバージョンにだけアップデートする作戦、結構アリかなって思ったよ。


Q : アップデートしなきゃダメかな?今使っているUnity〇〇〇をずっと使うのはダメかな?

A :

「アプリストアのアプリをアップデートするためにXXX対応が必要、そのためにはUnityをアップデートしないといけない」みたいなことになると思うよ。

やっぱり継続的にアプリストアに公開し続けたいならば、どこかでUnityのアップデートはしないといけないと思うよ。

LTSサポートの方には、そういう対応が入ってくるだろうから、TECHストリームは無視するとしても、LTSストリームのUnityにはアップデートした方がいいんじゃないかな?

LTSのサポート期間は2年間だから、Unity 2017.4 => Unity 2019.4って更新もありだと思うけれど、2年間の差分を一気に更新するのは大変だと思うよ。

アップデートのための作業

自分のゲームは規模が小さく、Unityの利用機能も多くなく、使っているアセットも少ないので、作業量は多くありませんでした。

アップデートのための作業として、やったことは

です。

ちなみに、

  • コードはほぼそのまま。新しいC#の文法で書き換えとかはやっていない。
  • ライブラリはアップデートしただけ。SpriteParticleEmitterはLegacyなコードのままで新しいのに置き換えていない。

って感じで、今回はコンパイルエラーと実行時エラー、警告を修正しました。今の環境として適切なコード・綺麗なコードにするのは、次回のアップデートですることにしました。まずは問題なく動くものを、世の中に公開することを優先したかったからです。

下記のアップグレードマニュアルも見よう!

docs.unity3d.com

まとめ

自分の今年2019年の目標の一つは「作って公開したものはメンテナンスを続ける」です。

だから、作っている趣味個人ゲームアプリ3個は、しっかりとメンテナンスしていきます。まずその第一歩として、Unity 2017.4 => Unity 2018.3というアップデートを行いました。

まとまった時間がなかなか取りにくい可能性があったので、まとまった時間があった方が圧倒的に効率のいいUnityのアップデートを、年末年始休みに行いました。

多くの人はUnity 2018.4のリリース・その安定化を待つのもいいと思います。もし地雷踏んだら、情報共有してくれると嬉しいな!

みんなものゲームもUnityアップデートしていこうぜ!

アップデートしたゲーム

最後にアップデートしたゲームを紹介します。

遊んでね!


復活勇者 (Google PlayApp Store)

f:id:MRStar:20181229125929p:plain
復活勇者


スライムハンター (Google PlayApp Store)

f:id:MRStar:20181229130003p:plain
スライムハンター


にげろ、スライム (Google PlayApp Store)

f:id:MRStar:20181229130058p:plain
にげろ、スライム!