【雑記】開発におけるバージョンについて
普段皆さんは、開発において使っているツールやエンジンのバージョンは何を使っていますか?
常に最新にしていたい方もいれば、確実に安定しているバージョン(他の開発でも使用していたバージョンなど)を使い続けている方もいると思います。
私は少し前まではUnityのバージョンが上がる度にアップグレードをかけていました。(さすがにベータ版は使っていませんでしたが)しかし、先日まで本格的に開発をしていたドロップシュートの開発中、2018.2から2018.3に上げよう!となったときにとんでもない数のエラーが発生しました。
もちろんバージョンを上げる際は新しいバージョンのほうで不具合があった場合に戻せるよう現在のバージョンをとっておき、環境を変えてテストを行います。
バージョンを上げるメリット
- 新しい機能を使うことができる
- 処理速度などが改善されていることがある
- 最新の状態を保てる(過去バージョン非対応などの心配がない)
バージョンを上げるデメリット
- ベータ版でなくともエラーが出ない保証がない
- アセットが新しいバージョンに対応していない可能性がある
- 新しいバージョンを使って問題ないかテストする工数が増える
メリット・デメリットに関しては他にもたくさんあると思いますが、ざっと思いつくものでこんな感じでしょう
私の経験も踏まえて、バージョンを上げるタイミングというのはしっかり考えた方がいいというのが分かると思います。
バージョンを上げるおすすめのタイミング
- 新機能をどうしても使いたい時(メモリ性能が格段に上がる、開発効率が上がるなどで)
- 現在のバージョンがアセットなど何かしらで非推奨になった時
iPhone XRに対応させるみたいな新しい機種に対応させる必要があった場合にバージョンアップが必要などであれば仕方がないですが、特別理由がない限り開発開始当初のバージョンから迂闊に上げるのはやめたほうが良さそうですね。
また、UnityにはLTS Releaseというものがあります。
LTSとは、Long Term Supportの略でサポート期間が長期的で安定して使えるのが保証されていますよということで、UnityのLTS最新版も2019/03/06現在時点で2017.4なのでそこまで古いわけではないです。特に新機能など気にして開発していない場合はLTSの最新版を使用するのがいいと思います。
P.S.
それでもどうしても最新にしたい!という人向けに公式から注意点が出ているのでそれを確認してからアップグレードすることを推奨します。
ベータ版は知りません。技術力に自信がある方のみ使ってみてください。