見出し画像

Now in REALITY Tech #4 Unity 2019 バージョンアップ対応と昔話

暑い日が続きますね。先日スーパーで見かけてからとてもスイカ🍉が食べたくなったので機会をうかがっているようてんです。

今週の「Now in REALITY Tech」はUnityチームからお届けします。

noteを書くたびに毎回ヘッダの画像に悩むのですが、悩んだ時は飯テロです。こちらサイゼリヤの「ラムときのこのきこり風」で昨年登場のグランドメニューで季節限定(夏と秋?)のやつです。ジャガイモの塩気が後を引くうまいやつです。

Nowと言っても…

Unityチームはどうしてもアバター👕やギフト🧸など、3Dアセットまわりに関連する機能が多いため、「(Nヶ月後にリリース予定のナイショのアレ)を作っていました!」という話がメインではあります。
そのため、Nowとはいいつつ、「最近の話」と「昔の話」をセットでゆるくお伝えしていくことになりそうです。悪しからず。

REALITYアプリにおけるUnityライブラリの位置付け

画像1

少し前に公開された以下のインタビュー記事でも書かれていますが、REALITYアプリにおけるUnityは、ネイティブ側から見て「REALITY Avatarライブラリ」といった位置付けになっています。

上記の図をなんとなく頭の片隅においておくと、本blogのUnityの話が読みやすくなるかもしれません。

Unity 2019 バージョンアップ対応します

現行のREALITYアプリのUnityは2018.4 LTS(2018.4.27f1)を使っていますが、LTSとしてのサポートは2年間のため、2021年春にすでに終了しています
REALITYアプリにおいてUnityは主に3Dまわりのビューを提供するライブラリであることもあり、サポート終了直後に突然使えなくなるわけではないのですが、Unityのバージョンが上がるとできることも増えていくため、いまのところ毎年1つずつLTSバージョンを乗り換えていく方針にしております。

今回は2019.4 LTS(2019.4.26f1)へのアップデートを予定しております。
概ね動作確認は終わっているのですが、少しアセットバンドル観点で大きめのアプデ🌴(REALITY文化祭に関連するやつです。お楽しみに!)が予定されており、それが終わったあとにリリースを予定しております。

画像2

前回のUnityのバージョンアップ

REALITYのUnity部の歴史になりますが、その前身であるREALITY Avatar(という独立したアプリでした)において、当時最新であるUnity 2018.2を用いて開発が開始され、そのまま2018年の秋にリリースされました。
そこからのUnityのバージョンアップは、今回のようなLTS的な観点ではなく、iOSで当時すでにdeprecatedだったUIWebViewを内部的に抱えており、2018.2のままではAppleの審査に通らなくなってしまうという特定Issueに対応するために、Unityのバージョンアップを実施しました。

また、直接的なトリガは上述のUIWebViewの件でしたが、もう一つ、macOS Catalina 10.15において32bitバイナリが廃止されたため、oggなどのaudioファイルをimportするだけでUnityがクラッシュするという嬉しくないIssueがありました。

CI Jenkins母艦に使っていたiMac ProをCatalinaにOSアップデートした直後から、突然Unityのビルドが全部失敗しだした😡のです。なかなかの恐怖でした。

前回のUnity 2018.2 -> Unity 2018.4はこの2点のIssueの解決と、「Nested Prefab対応」「C# 7.x対応」の2つが大きく、後者でやっと遅ればせながらUniTaskが導入できるようになりました🎉。
ネストの深いUniRxラムダ芸がasync/awaitでフラットにリファクタされるのはとてもよいものです。(とは言え筆者はリファクタ担当者ではなく、メンバの成果の恩恵を左うちわで受けている度合いが大きいのですが。)

Unityバージョンアップの恩恵

今回のUnity 2018.4 -> Unity 2019.4はすぐに楽しめそうな相性のいいアップデートは思いつかず、恩恵はゆっくり受けていくことになりそうです。
REALITYで関係のありそうな…とパッと思いつくのはRequirementsが2019.4.15f1であるAR Foundationなのですが、いかんせん派手な話なのでじっくり取り組みたいところです。

「REALITYでARをやってみるとどうなるのか?」という話は、以前のエントリにもありますので読んでない方がいらっしゃいましたらぜひ一読を。

なお、僕が個人で期待しているUnityのアップデートを1つ挙げるとすると、ぜひ脱uGUIをしたいのでUI Elementsなのですが、楽しく使えるようになるにはもう少し先ですかね…
こんな妄想につきあってくれたり、一緒に未来をつくってくれる仲間をREALITYでは募集しております。それでは、また。