🤔

[Unity vs Unreal Engine 5]ゲーム開発するならどっちのゲームエンジン?両方経験者が徹底比較していきます

2022/04/07に公開
3

この記事はUnityかUnrealEngineのどっちのゲームエンジンでゲーム開発するか悩んでいる方へ向けた記事です。※2023/07/26に記事を更新しました。

UnityとUnrealEngine両方経験した事ある私が海外の記事含めてありったけの記事,YouTubeを参考にしてまとめて忖度なしで書いた記事です。ぜひ判断基準の一つとしてご参考ください。

YouTube【Unity vs Unreal Engine 5】ゲーム開発するならどっちのゲームエンジン?でも比較動画を作ったので良ければご覧ください。

🐱先に辿り着いた結論からまとめます。

結論 「Unity vs UnrealEngine」

結論をざっくり言うと、PCや家庭用ゲーム機向け,グラフィック重視,企業としてのゲームを作るならUnrealEngineが比較的お勧めです。初心者に優しい,ゲームアプリ開発,個人など小規模開発ならUnityが比較的お勧めです。

ゲームエンジンとしての差は大して無いのでほぼ互角だと言っておきます。それぞれのゲームエンジンは開発しやすいゲームのタイプが異なりますし、一概にどちらが良いというのも違うと思っています。

UnityとUnrealEngineどちらのゲームエンジンを使用するか一番重要なポイントは作るゲームによってゲームエンジンを選ぶという事が一番重要です。UnityでもUnrealEngineでも大体のゲームは作成する事はできますが、それぞれのゲームエンジンには最適化されているゲームのタイプが異なります。なのでご自身が今後作りたいゲームに合わせてゲームエンジンを選ぶという事をお勧めします。

🐱ではどっちのゲームエンジンでゲーム開発を進めていくべきなのか、具体的な判断基準を解説していきます。

①作られたゲームで比較してみよう

UnityとUnrealEngine製のゲームをまとめました。自分が作りたいゲームはUnityとUnrealEngine製のゲームどちらにイメージに近いのか比較しながらご覧ください。

✓Unity製のゲーム

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

特にUnityはゲームアプリに特化しているので、ゲームアプリで見かける事が多いです。

✓UnrealEngine製のゲーム

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

UnrealEngineはPCゲームに特化しているのでPCゲーム作品に多いです。

🐱ぜひ自分の好きなゲームのゲームエンジンを調べてみて参考にしてください。ただしゲームエンジンを調べたら必ず出てくるという訳ではありません。有名なゲームを調べてもゲームエンジンがわからない、出てこないという場合は非公表となっている自社製のゲームエンジンの確率が高いです。特に任天堂のゲームなどは任天堂独自のゲームエンジンの確率が高いです。

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

ゲームエンジンのシェア率なんですが、かなり調べたんですがゲーム全体の正確なシェア率を調査しているデータは残念ながら無かった(そもそも調べる方法が無い)ので、今回4つの参考になりそうなデータを用意しました。なおこのデータも100%正確という訳ではないのであくまで参考までに留めておく事をお勧めします。

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

まずは2018年Steamで公開されている6万個以上のゲームの使用ゲームエンジンを調べた方がいて、そちらの方が公表したデータを元に作成したグラフです↓

Source : I researched the market share of game engines on Steam
SteamではUnrealEngineが23%で一位、Unityが11%で二位といった結果になっています。

※なおそれ以外のOthersとかは非公表だったり会社独自のゲームエンジンで一般の人が使えなかったり、公開されていないゲームエンジンだったりするのでこれらは基本的に無視していきます。中には一般の人でも使えるゲームエンジンもまぎれているのですが、基本的にシェア率はUnityとUnrealEngine以外は低すぎるので紹介はしません。

②ゲームエンジンの使用人口の割合

こちらは2019年にイギリスで行われた調査ですがゲーム開発者にどのゲームエンジンを使用しているのか?と質問して調査した結果をグラフにしたものになります。

Source : What game engines do you currently use?

私の体感としては日本も世界もこのグラフと似たような割合だと思います。最低でもUnity人口はUnrealEngineの2~3倍はいると思いますし、その分Unityに関する記事数や求人件数は多いです。なので人口としてはUnityがトップであるという結果になっています。

③TwithのゲームランキングTop40に使用されているゲームエンジン調べてみた(2022/10/2 自分調査)

Twitchは主にPCでのゲーム配信を行う場所なんですが、そこで世界の視聴者数順にゲームのランキングを確認する事ができそのゲームランキング順に調べた結果がこちらです。2022/10/2から過去一週間総合のTop40のゲームのゲームエンジンを調べてみました。

ランキング順データを表示する
一位から順に 使用されているゲームエンジン
League Of Legends Unity
FIFA 23 IGNITE
VALORANT UnrealEnine
Grand Theft Auto V Rockstar Advanced Game Engine
WORLD OF WARCRAFT Unreal Engine 5
Counter-Strike: Global Offensive Source
Minecraft Lightweight Java Game Library
APEX LEGENDS Source
Fortnite Unreal Engine
Dota 2 Source 2
Call of Duty: Warzone IW
Genshin Impact Unity
Dead by Daylight UnrealEngine
Teamfight Tactics ?(RiotGames)
Hearthstone Unity
Grounded UnrealEngine
Escape from Tarkov Unity
Lost Ark UnrealEngine
Fall Guys Unity
Gundam Evolution UnrealEngine
World of Tanks Wargaming's Despair engine
Virtual Casino ?
Dark and Darker ?
PUBG: BATTLEGROUNDS UnrealEngine
NBA 2K23 ?(Eco-Motion)
Phasmophobia Unity
Rust unity
Tom Clancy's Rainbow Six Siege AnvilNext 2.0
Destiny 2 ?(tiger engine)
Overwatch 2 ?(おそらく会社独自のゲームエンジン)
Final Fantasy XIV Online Crystal Tools
Splatoon 3 ?(おそらく会社独自のゲームエンジン)
Path of Exile ?(おそらく会社独自のゲームエンジン)
Rocket League UnrealEngine
Call of Duty: Modern Warfare II IW
New World Amazon Lumberyard
Sea of Thieves UnrealEngine
The Bathhouse ?
Black Desert Black Desert Engine
Dome Keeper Godot

?は不明だったものです。
[https://twitchtracker.com/games]
twitchtrackerのサイトに基いて、2022/10/2から過去一週間の総合ゲームランキングを元に調査

上のデータをわかりやすく円グラフにしたデータです↓40個のゲームの内,10個がUnrealEngineで7個がUnityでした。それ以外は基本的に会社独自のゲームエンジンだったり、非公表だったりするのでまとめてその他にしてあります。

Unityと僅差ではありますがPCゲームでは先ほどのSteamのデータと合わせてUnrealEngineがトップである事はほぼ確実だと思います。

④日米のゲームアプリ売上ランキングTop20に使用されているゲームエンジン調べてみた(2022/10/2 自分調査)

次にゲームアプリのシェア率ですがこれもネットで調べたのですが無かったので、自分で調査してみました。日米のゲームアプリの売上ランキングTop20をそれぞれ調べました。

アメリカのAndroidトップセールス
ゲーム 使用されているゲームエンジン
Candy Crush Saga ?(おそらく会社独自)
Coin Master ?(おそらく会社独自)
Royal Match ?(おそらく会社独自)
Evony: The King's Return ?
Roblox OGRE
Bingo Blitz™️ - Bingo Games ?
Pokémon GO Unity
Jackpot Party Casino Slots ?
RAID: Shadow Legends Unity
Township ?
Candy Crush Soda Saga ?(おそらく会社独自)
Homescapes ?
Fishdom ?
Clash of Clan ?
State of Survival: Zombie War UnrealEnigne
Empires & Puzzles: Match-3 RPG ?
Puzzles & Survival ?
June's Journey: Hidden Objects ?
Slotomania™ Slots Casino Games ?
Call of Duty Mobile Season 8 Unity
日本のAndroidトップセールス
ゲーム 使用されているゲームエンジン
ウマ娘 プリティーダービー Unity
Genshin Impact Unity
Fate/Grand Order Unity
ドラゴンクエストウォーク Unity?
モンスターストライク Cocos2d-x
Puzzles & Survival ?
Lineage W UnrealEngine
Pokémon GO Unity
放置少女 - 百花繚乱の萌姫たち ?
アズールレーン アプリはUnity?
プロ野球スピリッツA ?(おそらく会社独自)
アイドルマスター シンデレラガールズ スターライトステージ Unity
あんさんぶるスターズ!!Music ?
ブルーアーカイブ ?(おそらく会社独自)
ドラゴンボールZ ドッカンバトル Unity?
パズル&ドラゴンズ(Puzzle & Dragons) ?
LINE Pokopoko ?
日替わり内室 ?
三國志 覇道 ?
ドラゴンクエストタクト ?

※100%正確である事は保証できません。

アメリカがUnity三個,UnrealEngine一個、日本がUnity八個のunrealEngine一個、被っているアプリを除く39個の中だとUnity10個,unrealEngine2個,その他27個になりました。以下グラフでまとめています。

ゲームアプリだとUnityが断トツでトップである事は確実です。さらに売上ランキングのゲームはひと昔前なので、最近のゲームアプリは特にUnity製のゲームの割合が高いと感じます。なのでゲームアプリの実績はUnityの独壇場となっています。

✓シェア率まとめ

PCゲームならUnrealEngineが一番使用されていて,ゲームアプリならUnityが一番使用されています。ゲーム開発人口はUnityが一番多いです。私の体感的にもこれのデータはほぼ正確だと思います。

🐱では具体的にそれぞれのゲームエンジンはどんな違いや特徴があるのか見ていきましょう。

③エディタの違い(総合的に大差は無い)

実際にゲームを開発するエディタを紹介して比較していきます。

Unityエディタについて


Unityはデフォルトでは必須機能は大体揃っていますが、利便性を向上させるような機能は拡張しなければなりません。その代わり拡張機能は非常に豊富です。またUnrealEngineよりゲーム素材の管理がシンプルでエディタとしてはUnrealEngineより使いやすい印象です。

UE5エディタについて


一方UnrealEngineはデフォルトでツールが豊富です。例えばUnityと違って自動保存の機能や、PostProcessといったグラフィック調整する機能などが既存で内包されています。基本的には拡張する必要はありませんが、拡張する事もUnity同様可能です。またUnrealEngineは機能性でいったらUnityよりも優れている印象です。例えばNaniteと呼ばれるたくさんのオブジェクトをパフォーマンス良くゲームに描画できる機能だったり、Lumenと呼ばれるリアルタイム間接光ライティング、要するに綺麗な光を演出する機能があります。ただしUnrealEngineはゲーム素材の管理が複雑だったり、処理に時間がかかったりするのでその点はUnityの方が使いやすいです。

エディタが軽いのはUnityだが...

ゲームエンジンはどちらも重めですが比較的Unityのゲームエンジンは軽く、UnrealEngineのエディタは重いです。しかし個人的には、ゲーム開発を進めるにつれてエディタが重くなっていくのが顕著に感じられるのはUnityの方に感じられます。なので初心者でゲーム開発を進める状態であればUnityの方が軽いのは確実ですが、ゲーム開発を進めた時のエディタの重さでいえばどちらも大して変わらないように私は感じます。どちらにしろそれなりのPCスペックが要求されるという事は間違いないですし、UnrealEngineをダウンロードしてみて重かった場合PCを買い替える余裕が無いのであれば、Unityを使用するしかないでしょう。

ゲームエンジンが問題なく動くPCスペック目安

ゲームエンジンが問題なく動く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ですが、機能の優位性でいったらUnrealEngineだと思うので、エディタとしてはどちらも一長一短で、総合的には大差無いように感じるというのが率直な意見です。

🐱Unityエディタは拡張機能を結構追加しないといけないので、その点調べて自分で追加していくのが少し面倒ですかね..ただ拡張機能も多いというのが特徴ですが。UE5エディタの方が最初からゲーム開発に必要な機能が揃っていますし、機能もUE5でしか無いものがあるので個人的にはUE5エディタの方が好きです。ただし述べたようにUnrealEngineはアセット(ゲーム素材)の移動や削除などの編集に処理が時間がかかるのでその点がネックです。

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

料金はどちらも基本無料で、作ったゲームで一定金額稼ぐと使用料がかかるといった規則にになっています。

料金体系 ※1ドル=130円換算
Unity Unityは基本無料です。作ったゲームで10万ドル(約1300万円)以上の収益を出すと一定の金額毎年支払う必要があります。10万ドル(約1300万円)を超えると年間約5万円かかり、20万ドル(約2600万円)を超えると年間約22万、企業向けのプランだと問い合わせする必要があります。公式の料金説明はこちら
UnrealEngine UnrealEngineも基本無料ですが収益が100万ドル(約一億3千万円)を超すと収益の5%の使用料を払う必要があります。公式の料金説明はこちら

UnrealEngineの場合は収益の5%なので、稼いだ額が多ければ多くなるほど利用料も大きくなります。またUnityはライセンスを契約した場合、AssetStore(ゲーム素材販売サイト)の使用量20%オフなど様々な特典があります。

どちらも無料で始められてゲーム開発し公開できるので初心者の方は両方とも試してみるのもありですね。

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

基本的にどちらもモバイル,PC,家庭用ゲーム機(PS5やスイッチ)などメジャーなプラットフォームには対応しているので、UniyでもUnrealEngineでも問題ない場合がほとんどでしょう。

プラットフォーム 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でしかできない場合があります。

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

グラフィックに関しては圧倒的にUnrealEngineが優位です。ゲームエンジンの中だけではなく、3DCGソフトの中でもトップクラスになります。まずは実際に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=8VRVWSlVuDQ&ab_channel=Unity
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の方がかなり綺麗に見えるかと思います。UnityはそもそもUnrealEngineに比べYouTubeに挙がっている動画が少なく、やはりUnrealEngineで描画している動画に需要がある事がわかります。

リアルかゲームなのか判別がつかない!? Unreal製のゲーム

https://youtu.be/IK76q13Aqt0
特に衝撃的なゲームだったのがこの「Unrecord」というUnrealEngine製のゲームです。もはやリアルかゲームか判別が付きません。ちなみに本当にゲームかどうかを疑われてゲーム開発画面を公式が出して証明した程、グラフィックがリアルで綺麗になっています。Unreal以外の他のゲームエンジンでここまでリアルに描画しているのは見た事はありません。それぐらいUnrealのグラフィックは現状トップクラスになっているのでグラフィックが重要なゲームはUnrealEngineを超おすすめします。

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

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

🐱なのでグラフィックが超重要なファイナルファンタジーとかゼルダの伝説などの系統のゲームならUnrealEngineがおすすめですね。一方でグラフィックがそこまで重要視でない3DゲームはUnityの方が何かと他の部分で楽かと思います。

⑦情報量が多く,ゲームを開発しやすいのはUnity

ゲーム開発は基本検索しながら行うので、情報量が多い=ゲーム開発がしやすいという事になります。ゲーム開発学習は教材を学んで終わりではありません。一生勉強し続ける必要があるほどできる事が多いからです。
【Unity】移動とジャンプを実装する方法
そして情報量が多いのは圧倒的にUnityになります。ゲーム開発で困った時や何らかの機能を実装したい時に解決が速いのはUnityです。また教材に関してもUnityは非常に豊富ですので初心者に優しいのはUnityとなっています。PCをほとんど触った事が無い方や、本職がPCワーク以外の方はUnityをおすすめします。

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

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

🐱ゲーム開発において情報量は超重要なので、この点についてUnityは解説記事が豊富でゲーム開発しやすい環境になっています。

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

ゲームを開発する際、どのゲームエンジンでもプログラミングは必須になってきます。ゲーム開発におけるプログラミングとは「ゲームに機能を追加する事」にあたります。例えばキャラを動かすにも、ゲームオーバーやスコアなどの機能を作るにもプログラミングが必要です。なのでプログラミングを行わないとゲームを動かす事ができません。それぞれのプログラミングについて簡単に解説していきます↓

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


unityでは「C#」というプログラミング言語を使用してゲーム開発を行います。もちろん習得するのに時間がかかりますが、ネットの情報量が多くて教材も多いので比較的簡単に使用する事ができます。

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


UnrealEngineでは二つ言語「ブループリント」と「C++」があります。ブループリントはグラフ方式で直感的かつ簡単に行えるプログラミングになります。C++は一般的なコード形式です。ブループリントでもC++でも同じ機能を実装でき、使用するのはどちらでも構いません。ざっくり言うと作成する方法が異なるだけです。実際のゲームではブループリントだけでもゲームは作れます。ただしそれぞれメリット,デメリットもあり使い分ける必要もあります。UnrealEngineの「ブループリント」はビジュアルスクリプティングと呼ばれるグラフを繋げて行っていくものです。簡単で直感的、実装もものすごく速くとにかく簡単です。「C++」の特徴は実装できる機能の幅が若干広くパフォーマンスがブループリントよりも良くなる場合があります。ただしC++は学習する事がかなり難しいです。

C#,ブループリント,C++それぞれのプログラミング言語の特徴について

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

プログラミング用途 解説
難易度 簡単な順からまとめると、UEのブループリント >>> UnityのC# > UEのC++です。C#とC++自体は難易度は変わりませんが、情報量が多いのはC#なため比較的簡単にプログラミングできます。
情報量の多さ これも情報量の多さからまとめるとUnityのC# > UEのブループリント > UEのC++です。つまりUnityのC#が一番日本語の情報量が多く、参考になるものが多いです。
機能の実装速度 機能を実装する速度としては速い順に、UEのブループリント >>> UnityのC# = UEのC++といった具合です。
エラーの頻度が少ない&挫折しにくい ブループリント >> C# > C++です。プログラミングではエラーは日常茶飯事となり、初心者の方が最も挫折しやすい要因です。ブループリントは簡単で直感的に理解できるためエラーの頻度がとても少なくなります。
実装できる機能の豊富さ プログラミング言語によって実装できる機能の種類,幅が異なってきます。といってもどの言語でも一般的なゲーム開発に必要な機能は全て実装できます。ただしUnrealEngineのC++だけ、ゲームのコアな部分まで機能実装する事ができるため、実装できる機能の幅が大きいのはC++になります。その分C++は難しいですがね。

簡単にまとめておきます↓

プログラミング言語 解説
UnityのC# 情報量が多く,比較的簡単
Unrealのブループリント 初心者に優しい,直感的で簡単
UnrealのC++ 超難しいが実装できる機能の幅が広い

結局一長一短なので難しい所ですが、プログラミング言語だけでいえばUnrealのブループリントが一番楽で実装が速いのでおすすめですね。ただし下で紹介するのですがChatGPTの登場でプログラミングに変革があって、現状はUnityのC#が最も使いやすいかと思います。

✓UnrealEngineの「ブループリント」が最も簡単で最も実装が速い

UnrealEngineのブループリントはビジュアルスクリプティングとよばれるグラフで行うプログラミングです。非常に簡単でC#やC++などのテキストベースのプログラミングと比べ直感的です。以下の動画では、ブループリントでアイテムを回転する機能を実装しています。わずか24秒でかつシンプルに実装できます。
https://youtu.be/DNgN07QOZMc

✓ChatGPTの登場でコードを自動生成できるようになって、少し効率的になった

ChatGPTがゲーム開発においてわからない事を教えてくれるようになったので、Unity,UnrealEngineともにゲーム開発しやすい環境になりました。さらにChatGPTでコード形式(C#,C++)のプログラミングは簡単に生成できるようになりました。例えばUnityのC#はこんな感じにChatGPTでコード生成できる↓
https://youtu.be/e168LDEIJb4
ChatGPTについて詳しくはゲーム開発におけるChatGPTの使い方【UnityとUnrealEngineそれぞれ解説】で紹介しているので興味ある方はどうぞ。なのでChatGPTが登場した現在は少しばかりコード形式(C#,C++)のプログラミングが効率的になりました。ブループリントに関してはChatGPTでは今の所生成はできませんが、生成手順は教えくれます。

🐱コードはChatGPTで自動生成しているといってもコードは最終的には手動で編集しなければなりませんし、ちょっとだけ効率的になり生産性が上がったといった感じです。普通にChatGPTを使ってもコード生成できずに時間を取られる事もあります。

✓結局どのプログラミング言語が良いのか?

私は元UnityのC#を使ったプログラマーで、現在UnrealEngineのブループリントとC++も使用しています。それを踏まえて率直な感想を述べます。まず現状の総合ランキングを付けるなら一位がC#,二位がブループリント,三位がC++です。ただし述べたようにそれぞれのプログラミング言語は一長一短で、最初に述べたようにプログラミング言語でゲームエンジンを決定するべきではないというのが私の考え方です。なのでプログラミングという点は無視して頂いてそれ以外の点で判断される事をお勧めします。

🐱プログラミング未経験者の方も同じくプログラミングの点は無視して良いと思います。総合的にはプログラミングは一長一短で同じなので。

⑨ゲーム素材販売サイトはUnityのAssetStoreが超便利

次にゲーム素材ですが、UnityでもUnrealEngineでもオリジナルの3Dモデルやアニメーションなどは外部のソフト(BlenderやMayaなど)で作成して使用する事ができます。しかし個人や小規模開発の場合は3Dモデルを制作する余裕はほぼ無いのでゲーム素材は基本的に購入していく事になります。法人の場合でも木や草といったものは販売されているゲーム素材を使用する場合が多いです。ちなみにゲーム素材の事をアセットと言います。

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

こちらで購入したものはゲーム作成に使用して公開,販売する事ができます。

一方UnrealEngineのゲーム素材販売サイト「マーケットプレイス」が用意されていますが、アセットをランキングで表示できないという致命的な欠点があるため大量のゲーム素材の中から理想のゲーム素材を探しづらく、かつ若干重いため少し使いづらいです。

ただし無料アセットを結構公開したりしているので、UnrealEngineユーザーにとっては非常に便利なゲーム素材販売サイトになります。

Unityのアセットストアで購入した素材はUnrealEngineでも使える!逆も然り

UnityのAssetStoreで購入した素材(Unity製品など一部除く)は他のゲームエンジンでも使用可能とライセンスに記載されているのでUnrealEngineでも使用できます。ただしUnrealEngineに持ってくるのは手間なのと、Unity用のデモシーンなどはUnrealEnigneでは使えないというデメリットがあります。なのでこのAssetStoreは特に個人開発に大きな役割を担ってくれるため、Unityに軍配が上がると言えます。逆にUnrealのマーケットプレイスからUnityにアセットを持ってくる事もできますが、非常に手間がかかります。

🐱基本的に私の場合はUnityのAssetStoreでゲーム素材を探しています。特に個人開発はAssetStoreかなり役に立ちます。マーケットプレイスも利用する事はありますが無料アセットなどダウンロードする時に使用するのがメインですね。

⑩UnrealEngineでは大量のゲーム素材が完全無料

先ほどのUnrealEngine公式のゲーム素材販売サイトのマーケットプレイスとは別にUnrealEngineが完全無料で提供している大量のゲーム素材があります。

それがMegascansというサービスです。EpicGamesがこのサービスを買収して、今はUnrealEngineユーザーはこれらが全て無料で使用する事ができます。Megascansにはリアルなゲーム素材,例えば草や木、岩、椅子、建築物、装飾品、食べ物、テクスチャ(地面などの模様となる画像の事)が何から何まで揃っています。

こういった↑素材が全て無料です。このMegascansというアセットはかなり有名で私が確認しただけでも「EscapeFromTrakov」や「ストリートファイター6」などのゲームに使用されていました。かなり大手の企業もMegascansは利用するほど高品質なアセットになっています。ちなみにこのアセットはUnrealEngineのエディタ内の機能として備わっているのでドラッグするだけでゲームに追加する事ができます↓

これらの素材を購入しようと思うと超高額になり、作るのもプロのデザイナーではないと無理なのでリアルなゲーム素材を使用したい場合はUnrealEngineがかなりおすすめです。ちなみにこのアセットはUnityに持ってきて使用する事はできません。UnrealEngine製のゲームにのみ使用できます。

UnrealEngineではさらにオリジナルの3Dキャラも作成可能

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

コストをかけずにリアルなゲームを作りたい、リアルなゲームのプロトタイプとして3Dモデルを使いたいのであればUnrealEngineおすすめです。

🐱なのでゲームアセットの部分もUnityにはAssetStoreがあって、UnrealにはMegascansがあって一長一短なので作るゲームに合わせてといった感じになると思います。

⑪パフォーマンスはUnrealEngineが優勢

PCや家庭用ゲーム機向けのゲームのパフォーマンスに関してはUnrealEngineが優勢です。つまり重たいゲームをかくつく事なくゲームプレイしやすいのはUnrealEngineになります。ただしモバイルに関しては総合的にどっちがパフォーマンスが良いのかは不明です。ただしゲームアプリの実績としてはUnityの方が多い事を踏まえておきます。パフォーマンスに関してですがUnrealEngineが優勢と言える主な理由としては二つあるので紹介していきます。

①UnrealEngineのC++はメモリ管理ができる

一つ目ですが、最初に解説するとゲームをプレイするにあたり「メモリ」という記憶領域が増えていきます。なのでこのメモリを解放して記憶領域を使える状態にしなければなりません。メモリを自動で解放する機能としてガベージコレクションという機能がUnityとUnrealEngineには備わっています。自動でやってくれるので楽なのですが、ガベージコレクションによってメモリを解放する処理が結構重かったりします。しかしながらUnrealEngineのC++のみ、このメモリ管理を手動で行う事ができます。なのでゲーム開発者自身でメモリ管理できるためゲームが重くならないように調整する事が可能です。Unityではメモリ管理はできません。なのでメモリ管理できるという点でUnrealEngineの方がゲームをパフォーマンスよく動かす事ができます。

②UnrealEngine5にはNaniteやLumenといったとんでもない機能がある

二つ目がUnrealEngineには自動LOD(Nanite)やリアルタイムで間接光を映す機能(Lumen)があり重くなるようなゲームでも問題無く動かせる機能があるからです。例えばこの「Nanite」はとんでもない機能でLODが自動化されフレームレートを一定に保ちつつ、大量のオブジェクトを描画する事ができます。LODとはポリゴン数の異なる3Dモデルを何個か用意してカメラの距離によって入れ替える事でゲームのパフォーマンスをよくする技術です。オープンワールドゲームなどであればこのLODという技術は必須です。これは大変時間がかかる作業なのでこれが自動でできるのがNaniteで、カメラの距離に合わせてポリゴンを粗くして効率よく描画してくれます。

https://www.youtube.com/watch?v=EgB4C1M6T-c&t=24s
Naniteによって特に難しい設定もパフォーマンス対策もせずに、これらの大量のオブジェクトを描画できます。現状UnityだとLODなどかなりパフォーマンス対策してやっとか、そもそも上動画のように実現する事はほぼ不可能だと思います。この機能は他のゲームエンジンに大きく勝っている機能になると思います。

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

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

評価①UnityよりUnrealEngineが上回っている UnrealEngineのC++はメモリ管理などシステムに対してフルアクセス出来るが、Unityは自動処理機能「Garbage Collector」でメモリ管理に手を加える事はできずFPSが下がる原因にもなりえる。UE4はさまざまな基本アクションの実行がかなり遅い。エンジンの起動、エディタのオープン、プロジェクトのオープン、プロジェクトの保存などのアクションは、開発プロセスを妨げるのに多くの時間を必要とするためこの点ではUnityが勝る。引用元:Game Engine Wars: Unity vs Unreal Engine
評価②UnrealEngineが少し良い Unreal Engineはドローコールを最適化し、ゲームワールドの成長に伴いこの最適化が明らかになります。Unityは着実かつ比例して実行時間を増加させますが、UnrealEngineはそうではありません。ゲームシーンの複雑さが増すにつれてUnrealEngineが優位なのは明らかになります。もう1つは分散コンパイルです。IncredibuldはUnrealEngineと統合して、コードビルドとシェーダーコンパイルを大幅に高速化します。Epicは、プロジェクトの内部でそれを使用しています。Unityとのそのような統合はないので、UE4を少し支持します。引用元:Unity vs Unreal, What Kind of Game Dev Are You?
評価③UnrealEngineがAAAゲームに最適化されている。Unityはそうではない AAAゲーム(大成功したゲームで例えば大きぼなオープンワールドゲーム)UnrealEngineが優勢。Unityはオブジェクトを大量に描画した時に重くなりやすい。Unrealは実際にAAAゲームを制作することを中心に構築されており、数え切れないほどの制作を通じて試され、テストされている。Fortniteが良い例 引用元:Unity vs Unreal 2018, is Unreal still significantly better in performance?

🐱ただこれはPC,家庭用ゲーム機に限った話なのでモバイルに関してはどっちがパフォーマンス良く作れるのかはわかりません。

UnityとUnrealEngine両方でスマホで検証した結果

UnityとUnrealEngineで同じゲームを実機(モバイル)で試しました。私自身、最初はモバイルのゲームが多いからUnityの方がパフォーマンスが良いという印象でした。しかし私が実際にUnrealEngineのゲームを自分のスマホで動かした所、全く問題なく動作しました↓
https://www.youtube.com/watch?v=nQ3bzuax2nw&ab_channel=Daichi_GameDev_TestPlay
むしろ感想としてはUnrealEngineの方が軽かった印象です。ただ適当にゲームを作った段階での検証だったのでこの点に関しては今後も検証していきたいと思います。また仮にUnrealEngineの方がモバイルのパフォーマンスが良かったとしても、モバイルゲームはUnityの方が他の点で優れている事が多いのでUnityをおすすめします。

🐱まとめるとPC,家庭用ゲーム機ならUnrealEngine優勢です。モバイルに関してはわかりませんが、仮にUnrealEngineの方が優れているとしてもモバイルゲームに全体的に最適化されているUnityを比較的おすすめします。

⑫ゲームアプリならUnity製がトップ,PCならUnrealEngine製がトップ

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

Unityが採用される理由としてゲームアプリに最適化されているのと、個人でもゲーム素材を用意しやすいAssetStoreが用意されているため、また情報量が多くUnrealEngineより簡単になっているため。個人開発者にとっては一番手軽にゲームを出せるのはゲームアプリになります。

一方PC,家庭用ゲーム機で使用されているのはUnreaEngine製がトップです。Fortnite,ドラクエXI,デッドバイデイライトがUnrealEngine製↓

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

🐱ただUnityでもPCゲーはありますし、UnrealEngineでもモバイルゲームの実績はあるので一概にどっちが良いとは言えませんね..

⑬2DゲームならUnityほぼ一択

引用元 : Sunny Land
2DゲームにはUnityのみが対応しています。一応Unrealでも作れるみたいですが、Unreal製の2Dゲームは私は知りませんし、そもそもUnrealはPCや家庭用ゲーム機向けとしてメジャーな3Dゲームに最適化されているため2Dゲーム制作には適していないでしょう。一方Unityは2Dゲームを作る環境が整っており実績も豊富なので2Dゲーム開発はUnityをおすすめします。

⑭個人開発はどっちも可能。比較的おすすめなのはUnity

個人開発はUnityでもUnrealでもどちらも可能です。個人開発に比較的おすすめはUnityです。

Unityがおすすめな理由
①超便利なAssetStoreがあるから
②一番手軽にゲームを公開,販売できるゲームアプリはUnityの方が作りやすいから
③比較的簡単にオンラインゲームを作れるPUN2といったサービスやUnityAdsといった簡単に広告をゲームに組み込めるサービスがあるから
④個人でもネットに情報があるからゲーム開発しやすい

以上の理由でUnityの方が個人開発という意味では向いています。例えばAmongUsといった世界中で流行ったゲームは数人のチームで作られたUniy製のゲームです。

https://www.youtube.com/watch?v=p0aHDT8wwrw&ab_channel=Hornster
またARやVR系のゲームもUnity実績が多いです↓PokemonGOなどもそうですね。
https://youtu.be/emAcmi7VViM

🐱Unityはゲームアプリメインに最適化されているゲームエンジンといった印象です。UnrealEngineでも全然個人開発は可能です。

⑮AAAタイトル開発したいのであれば比較的おすすめなのはUnrealEngine

AAAタイトルと呼ばれる大規模なゲーム(例えばオープンワールドの広大なゲームや100人対戦のオンラインゲーム)を開発する場合や、法人として開発する場合は比較的UnrealEngineがおすすめです。理由は四つあります。

UnrealEngineがおすすめな理由
①PCや家庭用ゲーム機向けに最適化されているため
②重たいゲームでもパフォーマンス良く作れるため
③グラフィックが圧倒的に綺麗なため
④大規模開発に最適化されているため

一方UnityでもAAAタイトルの実績はあります。FallGuysやEFT,原神など。特に原神などはグラフィックはとても綺麗ですが、Unityはグラフィック調整が非常に難しいため開発費に100億,年毎に220億円かけているゲームだからこそできる事では無いかと個人的には思います。ちなみに原神やゼルダの伝説ブレスオブザワイルドのようなアニメ風のゲームを専門用語でStylized gameと言いますが、そういったゲームはUnrealEngineでも綺麗に描画できます。例を挙げると「ドラゴンクエストXI 過ぎ去りし時を求めて」だったり「kena bridge of spirits」「Tower of Fantasy(幻塔)」というゲームだったりです。
https://www.youtube.com/watch?v=pWh5388AEHw&t=3s&ab_channel=PlayStation
https://youtu.be/KdHYS2OWYW0

🐱AAAタイトルはUnityでも全然開発できますが、UnrealEngineの方がAAAタイトルに最適化されているためおすすめですね。

⑯拡張機能や外部のサービスが充実しているのはUnity

Unityは拡張機能や外部サービスが非常に充実しています。

例えばコードをコンパイルする時に待機時間を無くしてゲーム中にもコードも変更できるようになるHotReload(詳しくはこちら)だったり、オンラインゲームを作るためのサーバーサービス「Photon」だったり、データをクラウド保存したりログイン機能を作ったりできる「PlayFab」や「NCMB」などのサービスがあったりします。

外部機能 解説
HotRelold コードをコンパイルする時に待機時間を無くしてゲーム中にもコードも変更できるようになる
Photon オンラインゲームを作るためのサーバーサービス
PlayFab,NCMB データをクラウド保存したりログイン機能を作ったりできるBaasサービス

他にも様々なゲーム開発を効率的にするアセットがあります。(こちらの記事『Unity』おすすめアセットランキングにまとめました)ただしもちろんこれらは有料となります。

これらは特に個人のゲーム開発にとってかなりありがたい機能になります。一方でUnrealEngineにも拡張機能やオンライン機能を構築してゲームに組み込むことができるEpicOnlineServices(EOS)などがあります。UnrealEngineの場合は全て公式が用意しているといった感じなので基本無料で使えるのが魅力的です。

⑰将来性はどちらもある! 特に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
このマトリックスを再現したUE5の動画などはかなり凄いです。

🐱作りたいゲームにもよりますが、今後需要が特に増すのはUnrealEngineですかね。ゲーム全体の売上が上がっているのでUnityの方も同じく需要は増していくと思っています。

⑱開発するゲームのタイプからゲームエンジンを選ぶ

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

分別 例(個人の主観です,正解とは限りません) 理由
Unityが比較的おすすめ マイクラ,テラリア,LEAGUEofLEGENDS,Hearthstone,クラロワ,ポケモンGO,パワフルプロ野球,パズドラ,モンスト,Rust,遊戯王マスターデュエル,どうぶつタワーバトル,AmongUs,CultofTheLumb ゲームの機能豊富さ重視&ゲームアプリ
UnrealEngineが比較的おすすめ Valorant,Apex,Fortnite,Deadbydaylight,スマブラ,ゼルダの伝説,EFT,バイオハザード,スカイリム,EldenRing,Ark,グラセフ,ドラクエ11,スプラトゥーン グラフィック,パフォーマンス重視

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

・Unityで作る事がおすすめなゲーム

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

・UnrealEngineで作る事がおすすめなゲーム

一方UnrealEngineはグラフィックまたはパフォーマンス重視のゲームがおすすめです。なのでバイオやゼルダの伝説などグラフィックを重視するならUnrealEngine一択だと考えています。また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でもUnrealEngineでも基本的にサーバーを自前で用意するか、サーバーサービスを利用するかの二択になります。何らかのサーバーサービスを利用する場合はUnityの方が楽なケースがあります。例えばPUN2というオンライン化できるサービスを利用する事でUnityでオンラインゲームを作成する事ができます。一方UnrealEngineはリッスンサーバーという端末をサーバー化するサービスがデフォルトでエディタ内に存在しており、簡単にオンラインゲームを作る事ができます。ただしこのリッスンサーバーを利用する方法は作れるゲームが非常に限定されるため、方法としてはあまり採用はされません。なので本格的なオンラインゲームを作りたいのであればまあそこまで大差は無いかなという印象です。

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

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

簡単なのはどっち?

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

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

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

ブループリントはプログラミング未経験でもできる?

プログラミング未経験の方でも、ブループリント自体を学べば使えるようになると思います。ただブループリントもプログラミングのロジックと基本同じなのでプログラミング経験済みだと開発がスムーズになります。

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

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

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

今後ゲーム開発を始めるにあたりどっちが良いのでしょうか?
Indeedで検索したらUnityの求人が80,015件,UnrealEngineの求人が約5,834件ほどでした。なので求人件数としてはUnityの方が圧倒的に多いです。しかし見た限りUnrealEngineの方が平均年収としては高い印象です。また近年UnrealEngineを採用するゲーム会社がかなり増えてきている印象はあります。

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

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

Unityは時代遅れ?いいえ

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

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

もちろんどちらでも広告でも課金形式,有料販売でも好きなように収益化できます。

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

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

⑳それぞれの特徴まとめ

これまでの内容をまとめました↓

Unity UnrealEngine 補足
PCや家庭用ゲーム機実績 PCゲームが多いのはUE
ゲームアプリ実績 ゲームアプリが多いのはUnity
情報量の多さ(開発のしやすさ) 教材やネット記事が多いのはUnity
料金 どちらも基本無料
対応プラットフォーム どちらも主なプラットフォームには全て対応
2Dゲーム × 2DゲームはUnityでしか作れません
VR,ARゲーム 実績としてはUnity多数
オンラインゲーム オンラインゲームはどちらも可。UnityであればPUN2というサービスで簡単オンライン化可能。
建築や車,風景などのゲーム以外のジャンル グラフィックが重要な項目はUEがおすすめ
グラフィック Unityは綺麗なグラフィックを作れない事は無いが非常に難しい。UEはYouTubeにもあるようにすごい映えるほど綺麗,簡単
パフォーマンス UEはメモリ管理ができたり、自動LOD機能があったりするため。モバイルに関しては不明
ゲーム素材販売サイト Unity公式のAssetStoreはゲーム素材を集めるのに最もおすすめな場所。一方UEのマーケットプレイスは人気順にできなかったり若干使いづらい。
エディタの機能性 エディタの機能としてはUEの方が優れている印象
エディタの軽さ,使いやすさ 軽さとしてはUnityの方が軽い。
プログラミング 一長一短。UEにはビジュアルスクリプティングと呼ばれるグラフをつなげて簡単にプログラミングできるブループリントがある。Unityにも最近アプデでビジュアルスクリプティングが一応追加された。UnityのC#よりUEのC++の方が難しい。
個人のゲーム開発に向いてるか 個人開発に最適化されているのはAssetStoreやゲームアプリ制作に特化されているUnity,UEでも個人開発はもちろん可能
法人などの大規模なチームのゲーム開発に向いているか AAAゲームに最適化されているのはUE
初心者に優しいかどうか 情報量の多いのはUnityなので初心者に優しいのはUnity
将来性 UnrealEngine5が公開されてYouTubeなどで注目を浴びている,大手ゲーム会社がUE5を採用するケースが増えている印象

🐱これを見てわかるようにどちらも一長一短なので、作るゲームとご自身の状況や考えに合わせてどっちのゲームエンジンを選ぶのが良いかと思います。

Twitterでアンケートしてみた

以下はTwitterで聞いてみたものですが、データ的にも参考にならない可能性があるので気になる方のみチェックしてみてください↓

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

私がTwitterで行ったUnityとUE両方経験者は一つ選ぶならどっちアンケですが、結果的に38票集まってUnityが6票、UEが15票となりました。
https://twitter.com/daichi_gamedev/status/1566818763512893440?s=20&t=HkA5UD87N0HeqAVdji6nTg

ちなみに私のフォロワーの皆さんはこの時点でプロフィール画面からざっくり確認しましたが、unityとunrealengine使用してる人の比率はちょうど半々ぐらいでした。正確性は保証できませんし、母数が少ないのでこのアンケートも参考までに留めておいた方が良いでしょう。

㉑結論 [Unity vs UnrealEngine]

結論ですが、そもそも作るゲームのタイプが異なるためゲームエンジンは開発したいゲームや状況に合わせて選ぶという事が重要です。

個人でゲーム開発される予定の方、ゲームアプリに特に力を入れてゲーム開発する、またはデザインより機能の多さが重要なゲーム(例:マイクラやテラリア系のゲーム)を作る、初心者に優しいゲームエンジンを選択するならUnityがお勧めです。

一方AAAタイトルや、PCや家庭用ゲーム機向け、グラフィックの綺麗さやリアルさを求めたい人、デザインが重要なゲーム(例:バイオハザード,ゼルダの伝説とか)、パフォーマンスが重要なFPS(例:Apex,valorant,Fortniteなど)作るならUnrealEngineがお勧めです。

全てを含めてどちらかはっきりしろと言われると...正直互角が適当かと思っています。曖昧じゃなくてはっきり言ってほしいかもしれませんが本当に「互角」がふさわしいかと思います。UnrealEngineの方が良いという方もいたり、Unityの方が良いという方もいたり、私自身もこの数ヶ月でどっちが優れているか意見がコロコロ変わる程です。

🐱私自身、UnityでもUnrealEngineでもどちらのゲーム開発も好きですし、ゲームエンジンとして総合力としては大差無いように感じます。なのでまずは興味ある方を触ってみるという手もありだと思います。または両方軽く触ってみて選択するという手もありです。以上までは比較記事になります。


UnityからUnrealEngineに引っ越した理由

私はUnityを6年使用した後、UnrealEngineに引っ越しました。引っ越すかどうか非常に悩みましたが、最終的になぜ引っ越したのか、そして両方のゲームエンジンを使用してみてどう感じたのかここからは話していこうと思います。

理由その1. UE5のグラフィックの綺麗さに感動したから

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

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

比較画像、unityでは草とか生えていませんがモバイル上ではゲームが重かったため"生やせなかった"が正しいです。(もちろん何らかのパフォーマンス対策をすれば草を生やしてモバイル上でも問題なく動きます。しかしこのプロトタイプの段階でこの重さは致命的と感じました)。一方UnrealEngineは草を生やしてパフォーマンスの設定しなくても普通にスマホ動きました..。(スマホプレイ動画)正直これだけでどっちは良いとは言えませんがパフォーマンスもプロトタイプの時点でUnrealEngineの方が良いと感じました。

理由その2. 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製のゲームが最も成功している(売り上げを出している)とのデータもちらほら見かけました。

理由その3. UE4からUE5になってエディタが一新されて気に入ったから

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

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

理由その4. UnrealEngineが楽しかったから(Unityも楽しい)

「いやいや楽しいかどうかなんて重要じゃないでしょ?」という意見もあるかもしれませんが、僕にとっては重要なポイントでした。なぜならゲーム開発始めてみるはいいものの、実際辞める人が大半だからです。だからまずはゲーム開発を楽しむという事を目指しオリジナルゲームの開発を始めるべきだと思っているためです。話は戻ってUnityでのゲーム開発も大好きでしたが、UnrealEngineでのゲーム開発はさらに楽しく感じます。理由としては恐らくグラフィックが綺麗だからという点とUE5のエディタがUnityより好きだから,将来性を非常に感じたからです。UnrealEngineのエディタです↓
https://www.youtube.com/watch?v=pKPooSTRtZo

これらが私がUnityからUnrealEngineに引っ越した理由になります。

結局UnityとUnrealEngine使い分けている理由と今後

UnrealEngineをメインにするつもりで引っ越した後、両方使えるなら結局ゲームによって作り分けた方が良いと判断して現在はUnityとUnrealEngineを行ったり来たりしています。ちょっと使い分ける理由と今後について話していきます。

①ゲーム開発する際にUnityを採用する理由

まずやっぱりゲームアプリに関してはUnityが作りやすいです。ゲームアプリではなくてもネット記事が多くて情報量が多いのでゲーム開発しやすいですね。なのでゲームアプリ主軸かつ私自身個人という事で超便利なAssetStoreがある事だったり、またグラフィックが重要ではないゲームに関してはUnityで作っています。また個人開発という事でオンライン開発の際にはサーバーを自前で用意して管理するまでの余裕が無いので、Unityの方がPUN2やNCMBといったオンライン開発をしやすいサービスが揃っているというのもUnityが開発しやすいと感じています。ただやっぱり性能やグラフィック面ではUnrealEngineには劣ると感じてますが、その点については妥協しています。一応UnrealEngineでもゲームアプリ作れるのですが、Unityが使える以上UnrealEngineでゲームアプリ開発する理由は小さいかなと思います。逆にUnrealEngineが使えてUnityが使えない場合は、UnrealEngineでゲームアプリ開発する事にチャレンジしてみても全然良いと思います。

②ゲーム開発する際にUnrealEngineを採用する理由

ではUnrealEngineですが、特にグラフィック重視のゲームは必ずUnrealEngineを採用するつもりです。私自身デザイナーでは無いですがUnityのグラフィック調整は非常に時間をとられて、その結果理想のグラフィックにはならなかった経験があるのでグラフィック重視のゲームは絶対にUnrealEngineが良いと思っています。車や映画などグラフィック動画を制作する場合もUnrealEngineが良いでしょう。またオープンワールド系のゲームもパフォーマンス的な面やグラフィック面でUnrealEngineの方が絶対良いと思います。基本的にAAAタイトルだったり、フォートナイトが良い例ですがFPSゲーの100人対戦などはUnrealEngineの方が作りやすいと思います。ただUnrealEngineはUnityと比べ学習が難しいです。"難しい"ただそれだけがネックです。ブループリントは超簡単で最高のプログラミング言語ですが、C++に関してはC#と比べたら超難しいです。加えてC++の学習教材は英語の物しかないといっても過言ではないので、英語理解できる事が前提です。ただC++は最も実装できて、C++を使用せずにブループリントだけでも全然ゲーム開発はできます。あとはやっぱりPCや家庭用ゲーム機向けのゲームを作っていくならUnrealEngineの方が比較的好ましいでしょう。

③今後どっちのゲームエンジンを採用していくのか

すごくざっくりな個人的な意見としてはインディーゲームならUnity,グラフィック重視またはAAAタイトルならUnrealEngineといった感じかなと。なので現在個人という事でUnityを採用する場合がありますが、仮に法人としてゲームをガチで作っていくならUnrealEngineを採用していきたいと思っています。でもしかしながら「ゲームによってゲームエンジンを選んでいく」というスタンスは変わりません。ただ比較的にUnrealEngineの方がゲームエンジンとしてもEpicGamesの収益的にも上手くいっている感じがして、アップデートが頻繁になっておりどんどん機能の追加などされているイメージなので将来的にはUnrealEngineを使っていくつもりでいます。

④これからゲーム開発を始める方へ

これからゲーム開発を始める方へ僭越ながらアドバイスするのであれば、両方のゲームエンジン少し触ってみて楽しいゲームエンジンでゲーム開発していくのが良いと思います。あとは作るゲームによってゲームエンジンを選ぶ事をおすすめします。

どちらかはっきりしろと言われれば..難しいですが数十年単位の長期的な視点で見ればUnrealEnigneを若干おすすめします。数年単位の短期的な視点だとUnityの方がおすすめですかね...またPCに疎い方だったり、PCワークが本業ではない方には簡単な方のUnityをおすすめします。また既にUnityを使ってゲーム開発されている方であれば、基本的にUnityの方でゲーム開発されていく事をおすすめします。理由はゲームエンジンの引っ越しコストが大きいからです。ただ作るゲームによってはUnityの方が良かったりするのでそこは個々の状況や比較記事は無視してもらって好きなゲームエンジンを選ぶというのも良いでしょう。僕だったら両方試して楽しいゲームエンジンを勉強していきます。

UnityからUE5へ(または逆)の引っ越しはかなり大変だった話

僕はUnityからUnrealEngineへ引っ越した訳ですが、やはり引っ越しするためのコストは大きく、すぐにUE5を使えるようにはなりませんでした。引っ越しするのもありだと思いますが、デメリットとしては片方のゲームエンジンについて1から学びなおさないといけないという点です。ですので基本的にはどちらか一方のゲームエンジンを極めていった方が良いと思います。

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

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

なお作ったゲームがあり、ゲームエンジンを移行させる場合1から作り直しとなります。作ったゲームをそのまま引き継ぐといった事はできません。

最後に

正直私は今でもUnityを使うべきかUnrealEngineをどちらを使うべきか結構悩んでいます。今後はUnrealEngineでゲーム開発していきたいと思っていますが、ゲームアプリを作るなら基本的にUnityを採用していく予定です。ゲームエンジンとしての差はほとんどないですし作るゲームによって選択するのがベストなので個々の状況次第になってきます。なので本当に好きな方、気になる方をまずは触ってみる事が一番良いと思います。


著者コメント

最後まで記事を読んでくれた方お疲れ様でした。僕の人生で最も長く、何ヶ月もかけて作成した記事になりました..流石に疲れた..少しでもこれからゲーム開発される方へ役立ってくれれば幸いです。自分自身もどちらにするのかかなり悩んでいたので改めてUnityとUE5の違いを再認識できて良かったです。

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

Discussion

daichi-gamedevdaichi-gamedev

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

daichi-gamedevdaichi-gamedev

この記事に対して色々あったのでちょっとコメントさせてもらいます。

まずこの比較記事はガチのガチで忖度なしで書いてます。ただし事実として現在私はUnityからUnrealに移行してゲーム開発の片手間にUnrealの教材を書いています。ただしこの比較ページでは宣伝等は行っていませんし、この記事を書く事によってどこからもお金は一切もらってません。また私は現在もUnityでゲーム開発していますし、Unityの記事なども同時に書いています。この記事は自分の考えは述べていますが、どちらか一方のゲームエンジンを意図的に優遇しようと思って書いていません。純粋にこれからゲーム開発を始める方へゲームエンジン選びに役立てて欲しい、この記事は自分にしか書けないという思いで二ヵ月ぐらいかけて書いています。

この記事が信用できるかどうかは読者の方が各々で判断してください。ここでわざわざ言う事では無いかもしれませんが、コメントさせてもらいました。比較記事なんて無視してもらって好きなゲームエンジンで楽しくゲーム開発してもらうのが一番重要だと思ってます。また僕自身もその時に最高のゲームエンジンを選んでゲーム開発していくだけなので、UnityやUnrealEngine以外に最高のゲームエンジンが出てきたらそれを採用するだけです。

今後とも宜しくお願い致します。