🤔

[Unity vs UnrealEngine5]徹底比較!!ゲーム開発するならどっちのゲームエンジン?両方経験者がまとめます

2022/04/07に公開約27,500字2件のコメント


この記事はUnityかUnrealEngineのどっちのゲームエンジンでゲーム開発するか悩んでいる方へ向けた記事です。

Unity6年とUnrealEngine3年と両方経験した私が海外の記事含めてありったけの記事,YouTubeを参考にしてまとめて忖度なしで書いた記事です。できるだけたくさんの意見やデータを参考にまとめました。ぜひ判断基準の一つとしてご参考ください。

※Unity2020とUnrealEngine5正式版として比較していきます。
※この比較はあくまで個人的な意見です。

😺記事は長いので先に辿り着いた結論からまとめます。

結論 - Unity vs UnrealEngine

主にゲームアプリ開発したい人、2Dゲーム開発したい人、とりあえずどっちでもよくてPCにもあまり慣れていない初心者、個人でゲームを作っていきたい人、様々なプラットフォーム(スマホやPCなど)で作っていきたい人 → 比較的Unityがおすすめ

PCやPS5のゲームを開発したい人、グラフィックが綺麗なゲーム、AAAタイトル(超大作となるヒット作のこと)のゲームを作りたい人、現実のようにリアルなゲームを作りたい人、車や建築などゲーム以外のグラフィックが重要なコンテンツを作りたい人→ 比較的UnrealEngineがおすすめ

個人的にはそれぞれのゲームエンジンで作られたゲームやエディタなどを見て、好きな方または気になる方でゲームを開発する事が大事だと思っています。ゲーム開発はプログラミング含めとても学ぶ事があるため楽しんで長く続ける事が重要だと考えているためです。ただゲームエンジンの実績や将来性なども考慮して自分が作りたいゲームはどちらに向いているのか適切に判断する事も重要になってきます。

では、UnityとUnrealEngineの違いを詳細に見ていきましょう!

①ゲームエンジンのシェア率

世界でも日本でも使用している人口としてはUnityがトップでUnrealEngineが二番目というのは間違いないでしょう。これはゲームエンジンを紹介している記事や販売されいる本の数、後は求人情報からわかります。

しかしながらゲーム全体で世界または日本でどのゲームエンジンが何パーセント使用されているのかというデータに関しては残念ながらありませんでした。部分的に集計したデータを紹介しますがあくまで参考までに留めておいてください。

①Steamのゲームで使用されているゲームエンジン

まずは2018年Steamで公開されている6万以上のゲームの使用ゲームエンジンを調べたグラフです↓

I researched the market share of game engines on Steam
UnrealEngineが一位、Unityが二位といった結果になっています。なおOthersとは会社独自のゲームエンジンや公開されていないゲームエンジンの事なので無視して構いません。詳細は画像のリンクからご覧ください。

②もう一つの毎年のSteamのデータ(詳細元不明)

Stameで公開された50レビュー以上,最低5$以上のゲームのゲームエンジンについて調査したグラフです。

Engine Launches Each Year
先ほどとは違ってUnityが一位でUnrealEngineが二位になっています。詳細元に何も記載が無いなため、正確なデータなのかはわかりませんがUnityとUnrealEngineが二強という事はこれら二つのデータから見ても確実でしょう。

③イギリスでのゲームエンジン使用率

Stastiaの2019年にイギリスのゲームエンジン使用率を調査したデータを元に簡易的に作成したグラフです↓詳細はStastiaまで。

こちらはゲーム開発者にどのゲームエンジンを使用している?と質問した結果との事です。

ゲームエンジンシェア率まとめ

日本でも明らかにUnity人口がダントツで多く、その次にUnrealEngineであるという事はWebの検索ヒット数や求人募集の量から見て間違いないでしょう。また海外でも同じようにUnityの方が記事が多いのは明らかでその事やデータからUnityユーザーが多いと推定できます。

ただ、人口が多いゲームエンジンを選べばいいかというとそうではありません。Unityは開発者に人気なモバイル向け、個人開発向けに作られているため参入している方が多いとされており、一方でUnrealEngineは個人も含みますが比較的に企業のAAAタイトル向け(規模が大きいゲーム)に作られているという事もあります。つまり人口によってゲームエンジンを選ぶというのも一つの手段ですが、作るゲームによってゲームエンジンを選択するという方が適切かと思います。下に続く比較をどんどん見ていきましょう。

②日本語の情報量が多く,開発しやすいのはUnity

ゲーム開発は基本検索しながら行うので、情報量が多い=ゲーム開発がしやすいという事になります。例えば検索した時のヒット数で見てみましょう↓


検索結果を見てみると差は歴然で約十倍Unityの記事が多く、私の体感としても十倍ほどUnityの方が解説記事が多くゲーム開発が非常にしやすいです。ではUnrealEngineは日本語記事が無いかというとそうではありません。基本的な項目に関しては検索してもほとんど出てきます。ただし、記事が少ないためクオリティはUnity向けの記事の方が圧倒的に良く、わかりやすいです。

UnrealEngineは英語の理解力が特に重要

Unityでもマイナーなエラーなど起きた場合、日本語の解説記事が無かったりするため英語のサイトを参考にしなければなりませんが、UnrealEngineは特に英語の記事や動画を見る機会が多いです。私の場合は日本語検索と英語検索両方を使用していますが日本語は情報が少ないため基本的には英語の方を参照しています。Unityだと英語を最悪全く見なくてもゲーム作れますが、UnrealEngineは英語の記事やYouTubeを見る事必須と言っても過言ではないと個人的には思います。

また、Googleの翻訳機能使えば良いのではないか?という疑問もあるかもしれませんが、個人的には翻訳機能はあまりおすすめしません。専門用語が正しく翻訳されなかったり、YouTubeでの翻訳機能は使えない、英語のスキルが伸びないという点があるためです。なので例え英語がわからなくてもこれから少しずつ学んでいく意欲があればUnrealEngineでも大丈夫です。私の場合はUnityでも英語のサイトかなり見ていたので結局ゲームエンジンを使用する場合は英語が必要と言ってもいいのかもしれません。

③最高のグラフィックを求めるならUnrealEngine

まずは実際にグラフィックを見てみましょう。

UnityとUnrealEngineの比較動画

https://www.youtube.com/watch?v=S2eXK025uC4&t=51s
https://www.youtube.com/watch?v=sMIi_Z33pkw&t=204s

Unity制作動画

https://www.youtube.com/watch?v=hmIchI8rkLw
https://www.youtube.com/watch?v=0Nqq4B-gLGU&t=150s

UnrealEngine制作動画

https://www.youtube.com/watch?v=PUwxQxsgVBw&t=54s
https://www.youtube.com/watch?v=1N6s96AZP2A
https://www.youtube.com/watch?v=2paNFnw1wRs&list=TLGGua3MCQiJagwyOTA2MjAyMg

✓UnrealEngineの方がリアル,綺麗というのが総評

UnrealEngineの方が綺麗というのは他の比較サイトを見てもどこも通説であるのと、近年UnrealEngineのゲームのグラフィックが美しくYouTubeで注目されている事から人の目に綺麗に見えるのはUnrealEngineで間違いないでしょう。UnityはそもそもUnrealEngineに比べYouTubeに挙がっている動画が少なく、やはりUnrealEngineで描画している動画に需要がある事がわかります。

そんな大差なく見える?問題はUnityの再現性の難しさ

どちらも触った事が無い方はグラフィックの違いがいまいちわからない可能性もあると思います。しかし、グラフィックの違いは実際に作るとその違いがよくわかります。まずUnityはデフォルトのグラフィックはとても綺麗とは言えません。さらに上記のUnityのYouTubeのように綺麗に再現する事はUnityのデザイン制作に長い間携わった人でなければ非常に難しいです。一方UnrealEngineはデフォルトでも充分に綺麗です。初心者の方でも比較的簡単に綺麗なグラフィックを作る事ができます。またPostProcessといってグラフィック調整するツールはUnrealEngineはデフォルトでエディタに入っており簡単にUnityより細かくパラメータを調整する事が可能です。

④作られたゲームで比較する

UnityとUnrealEngine製のゲームをまとめました。

Unity製のゲーム

Unityで作られたゲームは「EFT」「HEARTH STONE」「Call of Duty Mobile」「BeatSaber」「FallGuys」「PokemonGo」「Doom」「MarioKartTour」「ダンジョンメーカー」「原神」「CrossyRoad」「AMONG US」「アサシンクリード」「SuperMarioRun」「ウマ娘」など

UnrealEngine製のゲーム

Unreal Engineで開発されたゲームは「Fortnite」「PUBG」「Rocket league」「ドラゴンクエストXI 過ぎ去りし時を求めて」「ストリートファイターV」「Dead by Dylight」「LITTLE NIGHTMARES Ⅱ」「キングダム ハーツIII」、「ファイナルファンタジーVII リメイク」「Hello Neighbors」など

自分が作りたいゲームはUnityとUnrealEngine製のゲームどちらに近いでしょうか?自分の好きなゲームのエンジンを調べてみて参考にしてください。ちなみに調べてもゲームエンジンがわからない、出てこないという場合は自社製のゲームエンジンの確率が高いです。

⑤ゲームアプリならUnity製がトップ

スマホのゲームアプリ開発で使用されるのが多いのは圧倒的にUnityです。モンストやツムツムなどひと昔前の2DゲームはCoCos2Dxが使われている事が多いですが今やUnityが主流です。ウマ娘,PokemonGo,SuperMarioRunなどはUnity製↓

Unityが採用される理由としてゲームアプリに最適化されているのと個人でもアセットを用意しやすいAssetStoreが用意されているため、実績が豊富なためだと考えます。

⑥PC,家庭用ゲーム機ならUnrealEngine製がトップ

UnrealEngineは先ほど紹介したSteamのデータによるとゲームエンジンシェア率はUnrealEngine23%,Unity11%になっています。

I researched the market share of game engines on Steam
PC,家庭用ゲーム機で使用されている代表的なゲームエンジンである事は間違いないでしょう。Fortnite,ドラクエXI,デッドバイデイライトがUnrealEngine製↓

UnrealEngineが採用される理由は一番はやはりグラフィックという点とPCのAAAタイトル(大ヒットするようなゲーム)向けに最適化されている事だからだと思います。PC,家庭用ゲーム機なら比較的UnrealEngineがおすすめです。

⑦プラットフォーム(対応機種)はどちらも幅広く対応

上記でアプリはUnity,コンソールはUnrealEngineがおすすめと紹介しましたが、UnityでもPCや家庭用ゲーム機器のゲーム作れますし、UnrealEngineでもゲームアプリを作る事ができます。

基本的にどちらもモバイル,PC,据え置き機にも対応しているので、UniyでもUE5でも問題ない場合がほとんどでしょう。

プラットフォーム UnrealEngine Unity
iOS
Android
VR
Linux
Windows PC
Mac OS X
SteamOS
HTML5 ×
Xbox One
PS4&5
Windows Phone 8 ×
Tizen ×
Android TV and Samsung Smart TV ×
Web Player ×
WebGL ×
PlayStation Vita ×
Nintendo Switch

例えばウェブ上で動くゲームを作る場合はUnityでしかできません。

⑧2DゲームならUnity一択


2DゲームにはUnityのみが対応しています。2Dゲーム作るならUnity一択でしょう。ただしUnrealEngineでも3Dを2Dっぽく見せる事は可能です。

⑨エディタ自体の機能性はどちらも大して変わらない

Unityエディタについて


Unityはデフォルトでは必須機能は大体揃っていますが、利便性を向上させるような機能は拡張しなければなりません。その代わり拡張機能は非常に豊富です。

UE5エディタについて


一方UrnealEngineはデフォルトでツールが豊富です。例えばUnityと違って自動保存の機能や、PostProcessといった機能などが既存で内包されています。基本的には拡張する必要はありませんが、拡張する事も可能です。

😺エディタの基本機能は両者揃っているのでエディタの違いはあまり気にする必要はないと思います。またUE5になってエディタが一新された事と新機能が追加された点は非常に大きな利点だと思います。個人的にはUE5の方が最初から機能が揃っていて使いやすいですしデザインも好きですね。

操作やシステムがシンプルなのはUnityだがUE5の方が利便性は若干高く感じる

UnrealEngineはアセットの種類や管理が複雑で非常にややこしいです。さらにアセットの移動、削除、インポートなどもUEは処理に時間がかかります。一方Unityではアセットはシンプルな構造で、エディタ自体もシンプルで使いやすいのはUnityでしょう。ただ、UnrealEngineは複雑な分色々な事ができるといった感じでしょうか..

⑩エディタが軽いのはUnity

Unityのゲームエンジンは軽く、UnrealEngineのエディタは重いです。ひと昔前から置いてあるごく一般的なデスクトップや通常のノートパソコンではUnrealEngineは確実に重く、Unityもかくつく可能性があります。一度ゲームエンジンを試してみてもし重かった場合、他のアプリを落とすぐらいしか有効な対策がないのでPCを買い替えるかUnityを試すしかありません。

場合によってはUEの方が軽い場合がある

ここは主観ですがUnityは初めの段階ではエディタは軽いですが、大量のオブジェクトを描画した際にはUnrealEngineよりかなり重くなる気がします。一方UnrealEngineは大量のオブジェクトを描画しても結構重くならない印象です。

問題なく動くPCスペック目安

数年前に買った数万程のPC,または高くないノートパソコンだと特にUnrealEngineは厳しい気がします。個人的にはスペックはゲーム開発の時間に大きく関わるので最新の10~20万以上のWindowsデスクトップが欲しい所です。ちなみに私はGALLERIAを使用していますがUnrealEngineも他のアプリ立ち上げながらでも問題なく動きます。スペックによりますがほとんどの場合ノートパソコンでUnrealEngineはきついです。

私が使用しているPCのスペックはこちら(参考までに)

私の現在のWindowsPC↓

Windows
プロセッサ Intel(R) Core(TM) i7-10700 CPU @ 2.90GHz 2.90 GHz
実装 RAM 32.0 GB
システムの種類 64 ビット オペレーティング システム、x64 ベース プロセッサ
GPU NIVIDA GeForce RTX3070
DirextX12

UE5を起動しつつ、画面録画しつつ、Chromeを立ち上げるなど複数のアプリを起動しても重くなる事はないのでこれだけあれば充分すぎます。使用しているパソコンはGALLERIAのデスクトップPCです。もちろんUnityは余裕です。

iMac2019を使用していた時

以前までiMac2019を使用していましたがUnrealEngineは動作はしましたが少し重かったです。Unityは基本問題無かったです。

MacBookPro2017を使用していた時

Unityはいけましたが、UnrealEngineは無理でした。

という訳でまとめると重い方のUnrealEngineで問題なく動けばUnityでも問題なく動きます。UnrealEngineを使用する際の推奨スペックについてはこちらで詳細にまとめています。

⑪両者のプログラミングは一長一短

そもそもゲーム開発におけるプログラミングって?

まずプログラミングとは?という話ですが、ゲーム開発におけるプログラミングはゲームに機能を追加する事にあたります。例えばキャラを動かすにも、ゲームオーバーやスコアなどの機能にプログラミングが必要になってきます。たまに「プログラミングなしでゲーム開発ができる!」といった誇張表現された記事を見ますがプログラミングなしでゲーム開発はどのゲームエンジンでも不可能です。しかしながらプログラミングは学べば誰でもできるようになるものですので、その点はご安心ください。では両者のプログラミングについて紹介していきます。

Unityのプログラミング言語は「C#」↓


unityの「C#」の特徴としては、習得するのに時間がかかりますがネットの情報量が多くその点では非常に助かります。

UnrealEngineのプログラミング言語は「ブループリント」と「C++」の二つ↓


UnrealEngineでは二つ言語がある訳ですが、ブループリントでもC++でも同じ機能を実装できます。ざっくり言うと使用する言語が異なるだけです。ただしそれぞれメリット,デメリットもあり使い分ける必要もあります。UnrealEngineの「ブループリント」の特徴はビジュアルスクリプティングのため簡単で直感的、実装もものすごく速くとにかく簡単です。「C++」の特徴は実装できる機能の幅が若干広くパフォーマンスがブループリントよりも良くなる場合があります。実際のゲームではブループリントとC++両方が使用されているケースが多いようです。もちろんどちらか片方だけでもゲームは作れます。最初はブループリントを極めてその後C++を徐々に学んでいくという流れが一般的です。

三つの言語の内「ブループリント」が最も簡単で最も実装が速い

UnrealEngineのブループリントはビジュアルスクリプティングとよばれるグラフで行うプログラミングです。非常に簡単でコードと比べ直感的です。例えば以下の動画では、ブループリントで回転する機能をアイテムにつけています。わずか24秒でかつシンプルに実装できます。

https://www.youtube.com/watch?v=DNgN07QOZMc&list=TLGG9Zi9fIunImAyMTA0MjAyMg

😺じゃあ、簡単だしブループリントというプログラミングがあるUnrealEngineの方がいいんじゃね?となりますが、作るゲームエンジンをプログラミングの手段で選択するのはあまり良くありません。この点について解説していきます↓

UnityとUnrealEngineのプログラミングどっちが良い?

まず個人的にはプログラミングの方法でゲームエンジンを決めるべきでは無いと思っています。それを踏まえて両者のプログラミングについて解説していきます。

プログラミング用途 解説
難易度 簡単な順からまとめると、UEのブループリント >>> UnityのC# > UEのC++です。C#とC++自体は難易度は変わりませんが、情報量が多いのはC#なため比較的簡単にプログラミングできます。
情報量の多さ これも情報量の多さからまとめるとUnityのC# > UEのブループリント > UEのC++です。つまりUnityのC#が一番日本語の情報量が多く、参考になるものが多いです。
機能の実装速度 機能を実装する速度としては速い順に、UEのブループリント >>> UnityのC# = UEのC++といった具合です。
エラーの頻度が少ない&挫折しにくい ブループリント >> C# > C++です。プログラミングではエラーは日常茶飯事となり、初心者の方が最も挫折しやすい要因です。ブループリントは簡単で直感的に理解できるためエラーの頻度がとても少なくなります。

私は元々Unityのプログラマーで、UnrealEngineのブループリントとC++を現在使用しています。それを踏まえて率直な感想を述べるとUnityのC#より実装が明らかに速くエラーも非常に少ないのは「ブループリント」です。なので単にプログラミング言語という点でおすすめするプログラミング言語はブループリントです。ただしブループリントであれC#であれ、C++であれプログラミングの仕組みは変わりません。勉強する必要があります。UnityのC#の利点は述べたように情報量が非常に多く学びやすく、一方でUnrealEngineのC++は情報量が少なく学習曲線が非常に急で初心者にとっては非常に難しいです。なのでそれぞれのゲームエンジンは一概にどっちが良いとは言えず一長一短で、最初に述べたようにプログラミング言語でゲームエンジンを決定するべきではないというのが私の考え方です。なので実際のゲーム開発の流れやどっちのゲームエンジンでどんなゲームが開発されているか、どっちのゲームエンジンに興味を持っているかなどを元に判断する事の方が重要かと思います。

⑫料金はどちらも基本無料

Unityは基本無料で10万ドル(約1000万円)以上の収益を出すと一定の金額毎年支払う必要があります。詳細は10万ドル(約1千万)を超えると年間約5万円かかり、20万ドル(約2千万)を超えると年間約22万、企業向けのプランだと年間20シート毎に約50万円かかります。公式の料金説明はこちら

UnrealEngineも基本無料ですが収益が100万ドル(約一億円)を超すと5%の使用料を払う必要があります。公式の料金説明はこちら

基本無料なので多くの人はこの点で深く考える必要は低いでしょう。ただ大手企業で売上が何億にもなるという場合はUnrealEngineの方が費用がかかる可能性があります。またUnityはライセンスを契約した場合、AssetStoreの使用量20%オフなど様々な特典があります。

⑬ゲーム素材販売サイトはUnityのAssetStoreが良い

アセットストアというのはゲームの素材を販売しているサイトです。UnityではAssetStoreというサイトがありゲーム用の豊富なコンテンツが揃っていてゲーム素材を探すならここが一番おすすめです。

一方UnrealEngineではマーケットプレイスという販売サイトが用意されていますがアセットをランキングで表示できないという致命的な欠点があるため非常にモデルを探しづらく、使う機会はあまりありません。

個人のゲーム開発者はAssetStoreがあるUnityが非常に便利

特に個人でゲーム開発をする場合に問題となるのがゲーム素材の用意です。Blenderなどで3Dモデルを作成する事はできますが労力的にかなり大変になり(経験談)、ローポリゴンのものしか作成できないため、自分で作成するという事はかなりおすすめしません。そんな時に非常に助かるのがAssetStoreになります。UnityのAssetStoreで購入した素材(Unity製品など一部除く)は他のゲームエンジンでも使用可能とライセンスに記載されているのでUnrealEngineでも使用できます。ただしUnrealEngineに持ってくるのは手間なのと、Unity用のデモシーンなどはUnrealEnigneでは使えないというデメリットがあります。このAssetStoreは特に個人開発に大きな役割を担ってくれるためここはUnityに軍配が上がるとはっきりと言えます。

⑭UE5ではリアルな高品質ゲーム素材が完全無料!

先ほどのマーケットプレイスとは別にUnrealEngineが完全無料で提供しているゲーム素材があります。それがQuixelBridgeとMetahuman(早期アクセス)です。

Quixel Bridgeとは?

Quixel Bridgeとはゲーム用の高品質素材(例えば草や木の3Dモデルやテクスチャなど)が揃ったMegascansを無料で簡単に使えるようになるツールです。Megascansにはリアルなゲーム素材が何から何まで揃っているのでリアルなゲームを非常に作りやすいです。

こういった↑素材が全て無料です。UnityのAssetStoreでこれらを揃えようと思うと非常に高額になります。さらにUE5ではデフォルトでエディタ内にQuixelBridgeが含められて簡単にダウンロード、ドラッグ&ドロップでレベルに配置できるようになりました。

MetaHumanでオリジナルの3Dキャラも作成可能

こちらはまだ早期アクセスとなっていますがオリジナルの人間の3Dモデルを作成してUnrealEngineのゲームで使用する事ができます。

コストをかけずにリアルなゲームを作りたい、リアルなゲームのプロトタイプとして3Dモデルを使いたいのであればUnrealEngineの方がおすすめです。なおQuixel BridgeやMetaHumanはUnrealEngineでしか使用できません。

⑮パフォーマンスはコンソールならUnrealEngineが優勢,モバイルは不明だがUnity実績多数

先に伝えておきたい事としてはモバイルに関してはどちらが軽いのかわかりません。モバイルの実績としてははUnityの方が実績が圧倒的に多い事を伝えておきます。

UnrealEngineが優勢と言える二つの理由

パフォーマンスに関してですがUnrealEngineが優勢と言える主な理由としては二つあります。一つ目がメモリ管理はUnrealEngineのみが自由にアクセスでき、Unityでは自由に管理できないという点です。二つ目がUnrealEngineにはNaniteやLumenという機能があるという点です。NaniteやLumenという機能に関して詳しくはこちらで解説しています。

検索した結果ほぼ全ての記事においてUnrealEngineの方が優勢という意見

なおパフォーマンスに関しては調べまくった所、UnrealEngineの方がパフォーマンスにおいて良いという意見が非常に多かったです。[unity vs unreal engine performance] で英語検索した所、上から順に出てきた記事をまとめると以下です。

評価①UnityよりUnrealEngineが上回っている

https://hub.packtpub.com/game-engine-wars-unity-vs-unreal-engine/
・UnrealEngineのC++はメモリ管理などシステムに対してフルアクセス出来るが、Unityは自動処理機能「Garbage Collector」でメモリ管理に手を加える事はできずFPSが下がる原因にもなりえる。
・UE4はさまざまな基本アクションの実行がかなり遅い。エンジンの起動、エディタのオープン、プロジェクトのオープン、プロジェクトの保存などのアクションは、開発プロセスを妨げるのに多くの時間を必要とするためこの点ではUnityが勝る

評価②UnrealEngineが少し良い

https://www.incredibuild.com/blog/unity-vs-unreal-what-kind-of-game-dev-are-you
・Unreal Engineはドローコールを最適化し、ゲームワールドの成長に伴いこの最適化が明らかになります。Unityは着実かつ比例して実行時間を増加させますが、UnrealEngineはそうではありません。ゲームシーンの複雑さが増すにつれてUnrealEngineが優位なのは明らかになります。
・もう1つは分散コンパイルです。IncredibuldはUnrealEngineと統合して、コードビルドとシェーダーコンパイルを大幅に高速化します。Epicは、プロジェクトの内部でそれを使用しています。Unityとのそのような統合はないので、UE4を少し支持します。

評価③UnrealEngineがAAAゲームに最適化されている。Unityはそうではない

https://www.quora.com/Unity-vs-Unreal-2018-is-Unreal-still-significantly-better-in-performance-Or-can-Unity-now-develop-almost-AAA-PS4-level-games
・AAAゲーム(大成功したゲームで例えば大きぼなオープンワールドゲーム)UnrealEngineが優勢。Unityはオブジェクトを大量に描画した時に重くなりやすい。
・Unrealは実際にAAAゲームを制作することを中心に構築されており、数え切れないほどの制作を通じて試され、テストされている。Fortniteが良い例

評価④モバイルもUnityよりUEの方が良い気がする

https://note.com/withid/n/n9a38e91de609
一応日本語の記事もありましたので紹介↑

簡単にまとめるとUnrealEngineだとメモリ管理などシステムに対してフルアクセス出来るが、Unityは自動処理機能「Garbage Collector」でメモリ管理に手を加える事はできないため、結果的にこういった評価になっているのだと思います。

UE5では自動LOD機能「Nanite」が追加された

https://www.youtube.com/watch?v=EgB4C1M6T-c&t=24s
モバイル非対応ですが、この「Nanite」はとんでもない機能でLODが自動化されFPSを保ちつつ、大量のオブジェクト(ポリゴン)を描画する事ができます。LODとはポリゴン数の異なる3Dモデルを何個か用意してカメラの距離によって入れ替える事でパフォーマンスをよくする技術です。オープンワールドゲームなどであればLOD必須です。これは大変時間がかかる作業なのでこれが自動でできるのがNaniteで、カメラの距離に合わせてポリゴンを粗くして効率よく描画してくれます。映像では銅像ですが、実際に一番有効活用されるのは背景のモデルでしょう。実用性があるのは私も検証済みなのでこの機能は他のゲームエンジンに大きく勝っている機能になると思います。

個人的なパフォーマンスの感想

モバイルのゲームが多いからUnityの方がパフォーマンスが良いという印象だったのですが、私が実際にUnrealEngineのゲームを自分のスマホで動かした所、全く問題なく動作しました。

https://www.youtube.com/watch?v=nQ3bzuax2nw&ab_channel=Daichi_GameDev_TestPlay
Unityで一度同じゲームを作ってUnrealEngineでこのゲーム作ったのですが、Unityではこの時点でカクカクでした。

Unityでも例えばFallGuysとかEFTとか重くなりやすいゲームを作った実績はあるのでやり様次第なのではと考えます。なのでパフォーマンスの調整が難しいのはUnityといった方が正しい気がします。この点に関しては今後も検証していきたいと思います。

⑯将来性はどちらもある。特にUnrealEngineが勢い増す。

将来性はどちらもあるでしょう。Unityは全体的に,特にモバイル特化で、UnrealはPC家庭用ゲーム機特化という点でそもそもが作るゲームがあまりかぶっていないという点と、単純にゲーム業界は増々需要が高まっている事からどちらも今後成長をしていくでしょう。

ただしUrnealEngine5正式版が公開された事はかなり注目を浴び、
・エディタの見た目がシンプルになってUnityと同レベル程度に見易くなった
・次世代の注目ゲームにUnrealEngineが使用されておりそれらのゲームは特に注目されている
・2014年まで月額20ドルだった価格設定が無料になってさらに改正されよりたくさんの人が参入しやすい価格設定になったから
という理由から明らかに勢いがあるのはUnrealEngineの方だと言って間違いないと思います。ただし現時点ではUnityが圧倒的に人口が多く、Unity人口をUnrealEngineが超すという事は今後しばらくは無いと思います。

UnrealEngine5について

UnrealEngine5正式版がリリースされ、YouTubeでも非常に注目を浴びています。

https://www.youtube.com/watch?v=d1ZnM7CH-v4
https://www.youtube.com/watch?v=WU0gvPcc3jQ&t=1s

⑰作るゲームからゲームエンジンを選ぶ

ではここからは作るゲームからおすすめのゲームエンジンどっちなのか私の主観で理由とともに紹介していきます。

分別 例(私の主観です,正解とは限りません) 理由
Unityが比較的おすすめ マイクラ,テラリア,LEAGUEofLEGENDS,Hearthstone,クラロワ,ポケモンGO,パワフルプロ野球,パズドラ,モンスト,rust,遊戯王マスターデュエル ゲームの機能豊富さ重視&ゲームアプリ
UnrealEngineが比較的おすすめ Valorant,Apex,Fortnite,Deadbydaylight,スマブラ,ゼルダの伝説,EFT,バイオハザード,スカイリム,EldenRing,Ark,グラセフ,ドラクエ11,スプラトゥーン グラフィック,パフォーマンス重視
どっちで作るか状況によるもの マリオ,ポケモン グラフィックか機能に振るべきなのか悩ましい

上のグラフは向いているゲームエンジンはどちらなのかという話なので、そのゲームエンジンではないとそのゲームが作れないという訳ではありません。ご自身が作りたいゲームはどのゲームに似ていて、そのゲームはどちらのゲームエンジンで作る方が良いのか参考にしてみてください。

・Unityがおすすめなゲーム

基本的に分け方としては機能の多さが売りのゲームはUnityの方が良いです。理由はネットにプログラミングの実装方法が豊富に載っているからです。例えばマイクラというゲームのプログラミングは非常に複雑です。一度私もUnityでマイクラとほぼ同じシステムのブロック型のゲームを作ろうとしましたが、Unityだとマイクラの作り方となるコードが結構ネットに挙がっています。なんならAssetStoreにマイクラと同じシステムのゲームが販売されているので、それを購入すればコードは手に入るし仕組みも1から作らなくて良いので楽です。つまり機能を実装する時に情報が多く実装しやすいので私がマイクラのような機能重視、コードが複雑で難しそうなゲームを作るとしたらUnityで作った方が良いかと思います。Unityは複雑なゲーム制作に向いており、UnrealEngineは定型にはまるようなゲーム制作に向いている印象です。UnrealEngineでもマイクラ作ろうと思えば作れると思いますがUnityよりとても時間がかかりそうというのが率直な意見です。またスマホのゲームアプリ作る場合はほとんどの場合は実績が多いUnityを選択するのが確実と思います。

・UEがおすすめなゲーム

一方UnrealEngineはグラフィックまたはパフォーマンス重視のゲームがおすすめです。なのでバイオやゼルダの伝説などグラフィックを重視するならUnrealEngine一択だと考えています。またコンソール向け(PCやPS5など)のFPSゲームはUnrealEnegineの方がパフォーマンスが良いのでUnrealEngineを選択するといった感じになります。UnityでもEFTといったFPSゲームがある訳ですが、私だったらパフォーマンスやグラフィックが向上するという理由からUnrealEngineで制作します。ただ機能を付けやすいという面ではUnityで作るメリットもあります。

・どちらで作るのか悩むゲーム

その他一番下のどっちで作るか状況によるものは、例えばマリオもポケモンも機能に振るのか、グラフィックに振るのか悩ましいのでどちらで作るのか悩ましいという考えです。

⑱UnityやUE5に関してよくある質問

では最後に知りたい事を質問形式でまとめたので紹介します↓

VRはどっちが良い?

VRも今までの指標と同じで、作りやすいのはUnity,グラフィックが良いのはUnrealEngineです。BEATSAVERなどUnity製のVRゲームが多い印象なので確実なのはUnityだと思いますが、建築関係のグラフィックが重要なVRなどであればUnrealEngineがおすすめです。

ARならどっち?

ARもUnityが秀でいている印象です。ポケモンGOだったり、ドラクエウォークなどの実績を考慮すれば作るならUnityでしょう。

オンラインゲーム作るなら?

どちらもオンラインゲームは作る事は可能です。個人の場合はUnityだとPUN2などサーバーサービスを利用して比較的簡単に制作する事ができるため、それを使用するならUnityの方が簡単です。UnrealEngineももちろん制作可能ですが何せ情報が少ないため難しいのは間違いないでしょう。UEだとデフォルト機能のリッスンサーバーといったプレイヤーの端末をサーバーにする方法であれば簡単実装できますが作れるゲームは非常に限定的になります。どちらにしろオンラインゲーム制作の難易度は高いですし、本格的に作りたいのであれば両方ともサーバーを用意する必要があります。なので本格的なオンラインゲームであればどちらでも良いと思います。(正直ここは私もあまり詳しくないです)

ゲーム以外のプロジェクトはどっちが良い?

車や建築関係,映画などであれば見た目が重視されるので、グラフィックが良いUnrealEngine一択だと個人的には考えます。

簡単なのはどっち?

教育コンテンツも豊富なUnityが簡単かと思います。ゲームエンジン自体の難しさはどちらも大して変わりませんが、情報量の違いによってUnityの方が簡単かと思います。

結局どっちを選ぶべきか迷う..どうすれば良い?

興味がある方を触ってみて、もう片方が気になったらもう片方を選択しましょう。ゲーム開発しやすいのはUnity,グラフィックが良く難しいのがUnrealEngineです。後は好きなゲームに似ているゲームがどちらで開発されているのかとか考慮すると良いかもしれません。

ブループリントはプログラミング知らなくてもできる?

できますが、ブループリントもプログラミングのロジックと基本同じなのでプログラミング経験済みだと開発がスムーズです。どちらにしろプログラミングの仕組みは徐々に学ぶ事になります。

Unityもビジュアルスクリプティングできないの?

実はUnityも公式のプラグインとして「Bolt」があります。ただUnityだったら普通にC#を使うべきだと思っています。あくまで拡張です。何か作ろうと思った時ググった時に実装しやすいのはコードの方なので。

ゲーム業界で働く事考えたらどっち?

Indeedで検索したらUnityの求人が16000件,UnrealEngineの求人が約1100件ほどでした。現時点ではUnityの方が人口が多いですが、将来的にはUnrealEngineも一緒に伸びていくでしょう。

UnityからUE5へプロジェクト(ゲーム)は移行できるの?その逆は?

作成したプロジェクトは移行する事はできません。一からゲームを作り直す必要があります。

Unityは時代遅れ?いいえ

検索候補に「Unity 時代遅れ」と候補が上がっていましたが、私はそうは思いません。あくまで推測ですがコロナ下の影響でPCなどのゲームの需要が伸び、ゲームアプリの需要が少し減った(今でもゲームアプリのマーケットは拡大しているため少し伸びしろ減少といった感じかと思います)→結果的にUnityよりUnrealEngineの需要が伸びたとなったのかもしれません。Unityはモバイルのみならず、FallGuysや私が大好きなEFTといったコンソール向けのゲームを数多く排出しています。これからもUnityの需要は非常に高いと言えます。UnrealEngineよりUnityの方が圧倒的に人口が多いのもUnityの実力を証明していると思います。

収益化ってどちらでもできるよね?

もちろんどちらでも広告でも課金形式でも好きなように収益化できます。UnrealEngineはあるかわかりませんが、UnityだとUnityAdsという公式の機能があり、広告を簡単に掲載する事ができます。

エディタのソースコードは?

UEは公開、Unityは非公開になっています。

⑲比較まとめ

・Unityの特徴まとめ

使用人口が多くて定番ゲームエンジン、情報が豊富でゲームを開発しやすい、ゲームアプリ,VR/AR,2Dゲームなど幅広いジャンルに対応している、初心者の方でまずゲーム開発してみたいって人は「Unity」が比較的おすすめです。

・UnrealEngineの特徴まとめ

最高のグラフィックのハイエンドゲーム作りたい、リアルで綺麗なPCや家庭用ゲーム機などのAAAタイトル(有名会社が出すような大規模なゲーム)を出したいのであれば「Unreal Engine」が比較的おすすめです。

⑳結論

Unityはゲームアプリや据え置き機だけではなく、2DゲームとかVRとか幅広く対応していて情報が豊富でゲーム開発がしやすい。UnrealEngineは最高のグラフィックでハイエンドゲーム開発に向いている。つまり開発したいゲームや状況に合わせてゲームエンジンを選ぶべきと言えます。正直どちらでも良いというのであればまずはゲーム開発しやすいUnityをおすすめします。個人開発で人気なプラットフォーム「ゲームアプリ」もUnityの方が開発しやすいです。最高のグラフィックを求める、またはAAAタイトル(大規模なヒット作)などのゲームを作りたいならUnrealEngineがおすすめです

😺ではここからはUnityとUnrealEngineどっちがよいのかをUnity歴6年,UnrealEngine3年の僕が思った事を率直に語っていきます。

UnityとUE5どっちが良いのか?ここからは私の意見を語っていきます↓

UnityとUnrealEngineどっちを選ぶべきか?これについて私の個人的なアドバイスとしては「好きな方,興味がある方をとりあえず触ってみて楽しい方を選択しよう」です。ゲーム開発は数ヶ月でオリジナルのゲームを開発して販売できるほど簡単ではありません。プログラミングも含め学ぶ事が凄くたくさんあり、やってみたはいいものの挫折したり諦めたりする人が大半かと思います。なので一番は好きなゲームエンジンで楽しく開発するという事が一番重要だと思っています。その観点から好きなゲームエンジンを選択するという事は大事だと思います。UnityやUnrealEngine以外にもゲームエンジンはありますしね。私はプログラミング含めてゲーム開発が何よりもゲームで遊ぶよりも大好きなので、これからという方はぜひゲーム開発楽しんでいって欲しいと思っています。

Unity6年使用した僕がUnrealEngineに引っ越した理由

Unityを6年使用した後、UnrealEngineに引っ越して今は主にUnrealEngineを使用してゲーム開発を行っています。もうUnityを使わないと決めた訳でありませんがUnrealEngineにほぼ完全に移行しました。引っ越すかどうか非常に悩みましたが最終的になぜ引っ越したのか理由を紹介していきます。

①理想のグラフィックをUnityで再現できず、UE5で試してみて綺麗さに感動したから

Unityでゲームを作っている時に2週間ほどかけてグラフィックの事を調べまくってできる限りの事をして以下の様にUnityでゲームのプロトタイプを作成しました↓
PC上での画像でスマホではもっとグラフィックが良くないです..
いざスマホでプレイしようとしましたが、グラフィックのエフェクトをかけすぎたため重すぎて動かず..仕方なくグラフィックの設定(post processing stack)を無効にしてスマホでプレイしてみるも、こんなグラフィックのゲームはやりたくない...となってどうしたもんかと考えていた所、グラフィックが綺麗と噂されていたUnrealEngineがふと浮かぶ。一度昔に触ってみた事あるものの、重すぎて動かなかったUnrealEngineを触ってみる事に。するとキューブ(ただの立方体のオブジェクト)がUnityと比べてとんでもなく綺麗で衝撃的でした。モデルだけなんとか設置して実行してみるとグラフィックが私の理想そのもの↓

これがUnrealEngineに移行した一番の理由です。

比較画像、unityでは草とか生えていませんがゲームが重かったため"生やせなかった"が正しいです。一方UnrealEngineは草を生やしてパフォーマンスの設定しなくても普通にスマホ動きました..😲正直これだけでどっちは良いとは言えませんがパフォーマンスもプロトタイプの時点でUnrealEngineの方が良いと感じました。

②UE5製のゲームがYouTubeで注目を浴びていたため

ドラゴンクエストXIIもUE5を採用して作る事が発表されている事や、下の動画の西遊記がテーマのゲームもUE5製でかなり注目されています。

https://www.youtube.com/watch?v=nOMIwsupy9k&t=323s
また僕が大好きなゲーム会社「supercell」が発表した三つのゲームの内、コメント欄で圧倒的支持が高かったのは「ClashHeros」というゲームだったのですがそのゲームが唯一UnrealEngine製のゲームだったという事です。
https://www.youtube.com/watch?v=6eKE9pf01FY&t=5s
この事からUnrealEngineで作ったゲームはグラフィックのおかげか人の目を引くゲームになりやすいでのはないかと考えています。実際にもUnrealEngine製のゲームが最も成功している(売り上げを出している)とのデータもちらほら見かけました。

③UE4のエディタは微妙だったが、UE5でエディタが一新されて気に入ったから

個人的にはUE4からUE5へエディタの見た目が大きく改善された点も大きいです。

UE4は一個一個のアイコンが非常に大きくビューポート(ゲーム画面)が小さく使い辛かったです。それがUE5のエディタに一新されてビューポートが広がり、とても気に入ってます。個人的にはUE5でUnityにエディタという点で追い越したとさえ思っています。

④UnrealEngineの方が使っていて楽しいから

「いやいや楽しいかどうかなんて重要じゃないでしょ?」と思われるかもしれませんが、私は一番重要な指標だと思っています。なぜならゲーム開発始めてみるはいいものの、実際辞める人が大半だからです。だからまずはゲーム開発を楽しむという事を目指し、そこからだと思っているからです。話は戻ってUnityでのゲーム開発も大好きでしたが、UnrealEngineでのゲーム開発はさらに楽しく感じます。理由としては恐らくグラフィックが綺麗だからという点とUE5のエディタがUnityより好き、将来的にはUnrealEngineとUnityの人口はイーブンぐらいになるほどUnrealEngineに将来性を感じたからです。UnrealEngineのエディタです↓

https://www.youtube.com/watch?v=pKPooSTRtZo

ゲームアプリ作るならUnity,PCゲーム作るならどちらも良し

やはりUnityはスマホゲームに最適化されているので、スマホゲームアプリを作るならUnityで作るのが確実だと思っています。同時にUnrealEngineでスマホのゲームアプリを作ってみたいとも思っています。一方でPCやPS5などのコンソール向けにつくるなら、UnrealEngineが若干優勢かなと思います。

UnityからUE5へ(または逆)の引っ越しのコストについて

という訳で僕はUnityからUE5へ引っ越した訳ですが、やはり引っ越しするためのコストは大きく、すぐにUE5を使えるようにはなりませんでした。引っ越しするのは全然ありだと思いますが、デメリットとしては片方のゲームエンジンについて1から学びなおさないといけないという点です。ただし結果的にUnityで学んだ事は何一つ無駄になりませんでした。プログラミングの仕組みもゲームの作り方も、機能の概念も大体一緒です。なので引っ越す際にはゲームエンジンの使い方やプログラミングの書き方が異なるという点をクリアする必要があります。引っ越しを考えている方は完全移行する前に引っ越しコストがかかるという事を念頭に置いておきましょう。UE5に移行してもうこのグラフィックから離れる事はできないので後悔はしておりませんが、本来であればどちらか一方のエンジンを極める道もありだったと思っています。

ただ、私もずっとUnrealEngineやってみたいな~と考えていたので実際に触ってみて両方これからどっちを使ってゲーム開発するのかしばらく悩んだ後に移行を決定したという流れになります。

Twitterで、UnityとUE5両方経験者に一つ選ぶならどっちが良いかアンケートとってみた結果

https://twitter.com/daichi_gamedev/status/1566818763512893440?s=20&t=HkA5UD87N0HeqAVdji6nTg
私がTwitterで行ったUnityとUE両方経験者は一つ選ぶならどっちアンケですが、結果的に38票集まってUnityが6票、UEが15票となりました。回答だけ見るという項目は両方経験者ではないが、アンケート結果だけ見たい方向けに用意したので無視してください(Twitterのアンケは回答しないと見れない仕様なので)。ちなみにプロフィール画面からざっくり確認しましたが、私のフォロワーの方々はこの時点でunityとunrealengine使用してる人の比率はちょうど半々ぐらいです。UnityとUnrealEngineはそもそも作るゲームと目的が違うので比較する意味は無いという意見もあるかもしれませんが、一応結果としてはこんな感じになったと伝えておきます。

[Unity vs UnrealEngine] 両方使ってみて個人的に考える勝者は..

個人的な意見を述べます。個人でずっとゲーム開発される予定の方、ゲームアプリに特に力を入れてゲーム開発する、またはデザインより機能の多さが重要なゲーム(例:マイクラやテラリアとか)を作るならUnityが勝者です。一方AAAタイトルや、PCや家庭用ゲーム機向け、グラフィックのリアルさやデザイン重視のゲーム(例:バイオハザード,スカイリムとか)、FPS(例:Apex,valorant)作るならUnrealEngineが勝者だと思っています。全てを含めてどちらかはっきりしろと言われれば...正直イーブンと言いたい所ですが2022年現時点では個人的にはUnrealEngineが若干優勢だと思っています。ただし2022年以前のUE4とUnityを比べるとUnityが勝者だったと思っていますし正直差は無いように感じるのが率直な意見です。UnrealEngineが若干優勢と言う理由は2022年に公開されたUnrealEngine5になってUnityと両方使ってみてUnrealEngineの方がゲームエンジンとしては最適化されていると感じたからです。また将来性的な面もありますね。Unityが勝っている点は情報量の多さと人口の多さ、またAssetStoreがあるという点です。これは非常に有利なポイントになりゲーム開発が簡単,スムーズなのはUnityかなと思います。現時点ではUnityの方が人口が多いためUnityを選びがちですが、そもそもUnrealEngineはまだ2014年まで月額料金制だったため人口が少なかったという点も考慮する必要があります。Unity vs UnrealEngineは両方使った方に聞けば、おそらくUnityが良いと答える人も結構いると思います。賛否両論あると思うのであくまでUE5の方が良いというのは個人的な意見としてご参考ください。

最後に

正直私は今でもUnityを使うべきかUnrealEngineをどちらを使うべきか悩んでいます。今現在の考えではUnrealEngineメインにゲーム開発していく予定ですが、ゲームアプリを作るなら基本的にUnityを採用していく予定です。そもそもゲームアプリに多い2DゲームはUnityでしか作れないですし。またUnrealEngineの方が難しいが魅力的で楽しい,このグラフィックは確実にゲームエンジントップだという点はやはり使いたくなる理由でもあります。またこれからはゲームアプリよりもさらにPCゲーが加速するという個人的な読みもあります。

あと根本的な事ですが、UnrealEngineの会社EpiGamesは資金力がとてつもない、かつFortniteを作っているのでより方向性としてゲームエンジンがゲームプレイヤーにとって最適化されやすい環境にあると思います。一方Unityはゲーム自体は開発していないので、Unityはゲームのユーザーというよりかはゲームの開発者に最適化されたゲームエンジンという気がします。

私個人的な意見としてはどちらかと言われれば述べたようにUnrealEngineをおすすめしたいのですが、正直ゲームを開発するゲームエンジンとして差はほぼ感じないのでUnityでも全然良いです。なので本当に好きな方、気になる方をまずは触ってみる事が一番良いと思います。


著者コメント

最後まで記事を読んでくれた方お疲れ様でした。恐らく僕の人生で一番長い記事になりました..疲れた..それでも僕自身もどちらにするのかかなり悩んでいたので改めてUnityとUE5の違いを再認識できて良かったです。

これからもゲーム開発系の解説に力を入れていきたいと思います。UnityでもUnrealEngineでも記事を結構書いているので、これからゲーム開発をされる方はまたどこかでお会いするかもしれません。ではまた👋

Discussion

バッジありがとうございます🙇🏻‍♂️

バッジありがとうございます🙏🏻これからもこの記事アップデートしていきます

ログインするとコメントできます