こんにちは!ジェイです。本日から仕事が始まり新年気分も落ち着いたので、新年一発目の記事を投稿します。
Unityはとてもバランスの取れてるゲームエンジンで、WebGLやスマホゲーなどのカジュアルゲームにおいて、ゲーム制作をする上で一番の選択肢になると思います。
そんなUnityですが、UnrealEngineと比較すると、ある欠点があるのに気づきます。
公式で実装されていない機能
Unityでオンラインゲームを作ろうと思うと、PhotonFusionなどのサードパーティー制のネットワークライブラリが必要になります。
この他にも、例えば、私が高機能なAIを実装しようと思ったら、エディタ拡張のArbor3を使うことになります。
そして、PhotonFusionとArbor3を併用した時に問題が発生します。
公式のサポートでない機能同士のものは使えないことが多い
PhotonFusionは高機能であるがゆえに、特別なコンポーネントを使います。例えば、CharactorControllerの代わりにNetworkRuunerなど、多機能、高機能を実現するために多くの特殊なコンポーネントがあります。
これのおかげで高機能なネットワークライブラリに仕上がっているのですが、残念ながら同時に汎用性も失われています。
公式がサポートしていることの重要性
つまり、PhotonFusionのNetworkRunnerとArbor3で視覚的にAIが作れるビへアピアツリーはそのままでは、同時に使うことができないのです。
もし仮に、サードパーティー同士のライブラリが同時に使えたとしても、公式でサポートしている機能のように簡単に使うことはできません。
AIやネットワーク系の機能はUnrealEngineではすべて公式でサポートされてるのでこのようなことにはなりません。
今後、Unityにはなるべく公式で多くの機能が実装されるのを願ってゲーム開発を続けていこうと思います!