渋谷ほととぎす通信

新しいこと、枯れたこと問わず大庭が興味を持ったものを調査、生活の効率を求める完全趣味の技術ブログ。基礎を大事にしています。

CEDEC2019気になったUnity情報、直接中の人に質問しにいったこと編


f:id:esakun:20190902025818p:plain

タイムシフト、スライド、動画が公開されるのがほぼ当たり前になりつつある、CEDECやUniteにおいて、現地に行って参加するメリットの1つは、発表者や中の人と直接話しができることです。Unityのロードマップの中で気になっている以下の2点についてUnityの中の複数人にヒアリングした結果を残しておきます。

  1. Addressable Asset System(以下:AAS)の登場でAssetBundleは消え去ってしまうのか?
  2. Entity Component System(以下:ECS)の登場でGameObjectは消え去ってしまうのか?

Addressable Asset System(以下:AAS)の登場でAssetBundleは消え去ってしまうのか?

結論から言うとAssetBundleはなくならないです。
理由はAAS自体がAssetBundleの上に乗っかるいわばラッパー的な存在だからです。


ただし、今後のアップデートによってAssetBundleをECSに対応させたりする可能性があるので、ファイルフォーマット自体に変更が入ると思われますので、その際は全ビルドが必要になるかもしれません。全ビルドしなくてもよいのが理想です...


Scriptable Build Pipelineでビルドした方が、無駄なものがくっついてこないとの事で、旧来のAssetBundleのビルドパイプラインより性能が良いようです。現状のAssetBundleシステムを使う上でも、ビルドフローをScriptable Build Pipelineにした方が良いかもしれないとのことでした。


またUnity社としてもAASに力を入れていくため、新しいフィーチャーはAASに入っていくため、安定してきたらAASを使うべきなのだろうと思いました。

Entity Component System(以下:ECS)の登場でGameObjectは消え去ってしまうのか?

個人的に一番気になっている案件ですが「消え去りますん」という曖昧な答えです。

GameObjectがECSに全て置き換わるには、かなりの段階を踏む必要がありそうです。

  1. ECSが現状のGameObjectベース開発と同等の機能要件を満たす
  2. ECSの開発が現状のGameObjectベース開発級に簡単なオペレーションになる
  3. ECSの開発事例が増えていく
  4. Unity界隈的にECSだけでもうイイんじゃない?っていう雰囲気になる
  5. 少しずつGameObject系のAPIが非推奨になっていく

Unityは古い機能をかなりの期間残しておくので、当分の間GameObjectが消えることは無いと思われます。しかも現状作られているプロダクトのほぼ全てがGameObjectで作られているため影響範囲もかなり大きいです。


AASと同様ですが、UnityはECSに力を入れているため新しいフィーチャーはECSに追加されていくと思われます。 いつ頃「Unity界隈的にECSだけでもうイイんじゃない?っていう雰囲気になる」という状態になるかは分かりませんが、頃合いを見計らってECSに移っていく必要があるのだろうなと思います。


とりあえずここ1〜2年で何かが起きることはなさそうです。

最後に

気になった情報を直接ブースで聞けるのはありがたかったです。これ以外にもUnityのセッションで理解できなかったことも聞かせて頂きました。
繰り返しになりますが、こういう事ができるのが現地に行くメリットだなと思います。

参考サイト様