WEBVTT

1
00:00:00.700 --> 00:00:05.900
Hello, ladies and gentlemen, it's Mike from GameFromScratch, and one of the things I commonly see on this channel is

2
00:00:05.900 --> 00:00:09.400
why should I choose Godot over Unity or Unreal Engine?

3
00:00:09.400 --> 00:00:11.600
Both are available free asterisk.

4
00:00:11.600 --> 00:00:15.700
So why would I choose Godot? And that's kind of what I'm gonna try to answer in this post.

5
00:00:15.700 --> 00:00:20.000
I'm not saying that Godot is better or worse than Unity or Unreal Engine.

6
00:00:20.000 --> 00:00:26.200
That is simply not true. And anybody that tells you that X is worse than Y is generally a bit of an idiot.

7
00:00:26.200 --> 00:00:30.900
It all comes down to your particular needs and requirements, likes and and so on.

8
00:00:30.900 --> 00:00:33.600
And each one of these engines has its own strengths and weaknesses.

9
00:00:33.600 --> 00:00:36.900
So we're gonna look at some of the reasons why you would particularly choose

10
00:00:36.900 --> 00:00:40.400
the Gotot engine over Unity or Unreal.

11
00:00:40.400 --> 00:00:44.699
Now, with those two, I'm actually also working on a video for doing a direct HEADtoHEAD comparison

12
00:00:44.699 --> 00:00:47.900
Unity versus Unreal and why you should choose either one.

13
00:00:47.900 --> 00:00:50.800
Stay tuned for that. And I also did a video already

14
00:00:50.800 --> 00:00:56.900
on why you should or shouldn't choose Unity. I did that several months back. It needs to be updated, but I will link that down below.

15
00:00:57.339 --> 00:01:01.639
And I also link a text version of this if for some reason you want or read what I wrote and said here.

16
00:01:01.639 --> 00:01:05.000
Hey, you can. So that of do, let us jump in. Now again,

17
00:01:05.000 --> 00:01:09.300
a lot of this is straight out opinion based. I try to market as such when we get to it.

18
00:01:09.639 --> 00:01:12.739
<span style="color:black; background-color:lemonchiffon">《Reason① 01:09 It's Free! 》</span>But first, let's start with the very easy and obvious one.

19
00:01:12.739 --> 00:01:14.900
Godot is free,

20
00:01:14.900 --> 00:01:18.400
so obviously the lack of price is one of the most obvious features of Godot.

21
00:01:18.400 --> 00:01:21.500
Yes, you can start for free with both Unity and Unreal Engine,

22
00:01:21.500 --> 00:01:24.500
but both ultimately will have a price tag attached.

23
00:01:24.839 --> 00:01:29.839
With Unity, you pay on a per seat fee, so if you make over 100K a year total,

24
00:01:30.039 --> 00:01:32.539
you got to start licensing at the pro level.

25
00:01:32.539 --> 00:01:35.900
Plus you got splash screens, no dark mode, and a few other limitations.

26
00:01:36.100 --> 00:01:41.800
And kind of as you grow your team Unity gets more expensive.

27
00:01:41.800 --> 00:01:43.959
For the Unreal engine. It's a slightly different approach.

28
00:01:43.960 --> 00:01:49.560
You pay a 5% royalty of all of the money you make after your 1st $3,000 earned.

29
00:01:49.759 --> 00:01:53.160
Now if you're just starting out and you're just doing this

30
00:01:53.200 --> 00:01:58.000
100% as a hobby and you're never going to make money. Obviously, free isn't that big of a deal.

31
00:01:58.000 --> 00:02:02.300
But the more successful your game gets, the better of a deal free becomes.

32
00:02:02.300 --> 00:02:06.399
So giving away 5% of $200,000

33
00:02:06.400 --> 00:02:11.900
and then giving away 5% of $400,000. Well, if you're giving away 0% of $400,000.

34
00:02:12.060 --> 00:02:16.160
Godot is definitely the winner over Unreal in that particular scenario.

35
00:02:16.360 --> 00:02:19.260
So free is definitely a big side of the coin.

36
00:02:19.300 --> 00:02:24.000
<span style="color:black; background-color:lemonchiffon">《Reason② 02:19 Open Source 》</span>Now the other side of the exact same coin is free again. This time we're talking free as in freedom.

37
00:02:24.000 --> 00:02:27.600
And this is the open source nature of the Godot game engine.

38
00:02:27.600 --> 00:02:33.400
Godot is free in regards to price take and licensing being available under the MIT open source license.

39
00:02:33.660 --> 00:02:39.660
Unity trails in this regard. So of the three engines in terms of source code access or Unity sucks the most.

40
00:02:39.960 --> 00:02:45.460
You basically get access to some of the modules, some of their new examples, and some of the code for reference.

41
00:02:45.460 --> 00:02:49.460
But you can't build Unity yourself, and the only way you're going to get access to the source code

42
00:02:49.500 --> 00:02:53.800
is through a rather expensive and negotiated source code license.

43
00:02:53.800 --> 00:02:58.000
So if you want to make changes to Unity, you can't. You need to fix a bug, you can't.

44
00:02:58.000 --> 00:03:00.700
So that is definitely a limitation of Unity.

45
00:03:00.700 --> 00:03:04.299
Unreal is a bit better in this regard, actually a ton better in this regard.

46
00:03:04.300 --> 00:03:07.000
You can build Unreal Engine from scratch.

47
00:03:07.000 --> 00:03:09.600
The code is hosted up on GitHub.

48
00:03:09.799 --> 00:03:13.600
So if you want to make changes, you want to make your own version and

49
00:03:13.799 --> 00:03:16.099
you find a bug and you fix it so on;

50
00:03:16.100 --> 00:03:18.100
you can do so in Unreal Engine,

51
00:03:18.100 --> 00:03:23.700
although it is proprietary and does the license behind that is proprietary and does limit you in what you can do.

52
00:03:23.899 --> 00:03:29.200
And even if you build it from source, you're still paying that 5% royalty. But there's definitely more open source flexibility

53
00:03:29.200 --> 00:03:32.399
when it comes to Unreal over Unity.

54
00:03:33.100 --> 00:03:38.900
So another thing in Unity disfavor, it is also by far the smallest code base out there.

55
00:03:38.900 --> 00:03:44.499
So if you actually wanted to contribute to it, trying to contribute to well, contributing Unity is literally impossible.

56
00:03:44.700 --> 00:03:48.500
But trying to contribute to Unreal Engine has a bit of a massive learning curve.

57
00:03:48.500 --> 00:03:50.500
The code base is gigantic

58
00:03:50.799 --> 00:03:54.200
and you need to jump through and understand a ton of it to make sense of things.

59
00:03:54.200 --> 00:03:57.600
In the case of Godot, if you know C or C++,

60
00:03:57.600 --> 00:04:02.299
you could probably contribute to the Godot game engine. It's not really that hard to figure out and learn.

61
00:04:02.600 --> 00:04:04.799
And it's quite modular in the way that it's working.

62
00:04:04.800 --> 00:04:07.200
So if you want to contribute to a certain part of it,

63
00:04:07.200 --> 00:04:09.700
if you're not working on, say, the renderer or something like that,

64
00:04:10.000 --> 00:04:13.500
you could probably work in your own little bubble and make code contribution.

65
00:04:13.500 --> 00:04:18.200
So that's one of the other nice things about its source code. It's a smaller engine than both of those two.

66
00:04:18.200 --> 00:04:20.800
So you can actually get in there and contribute.

67
00:04:21.000 --> 00:04:23.800
<span style="color:black; background-color:lemonchiffon">《Reason③ 04:21 Flexibility 》</span>Okay, so next point we have is language flexibility.

68
00:04:23.800 --> 00:04:28.000
This is a little weird because Unity actually over time has been removing language support.

69
00:04:28.200 --> 00:04:31.700
Once upon a time there was Unity script, which is basically JavaScript

70
00:04:32.000 --> 00:04:38.200
and Boo, which is like a Python version ish thing and then move both of them.

71
00:04:38.200 --> 00:04:42.900
So now all you've got is C#. Now the nice thing is now that Mono is free and open source.

72
00:04:42.900 --> 00:04:45.799
They're actually using a version of C# from this decade,

73
00:04:46.100 --> 00:04:49.000
but it is really the only option in town.

74
00:04:49.000 --> 00:04:54.000
Now they are developing a visual scripting language for Unity, but it's always up.

75
00:04:54.000 --> 00:04:55.500
Now when you come to Unreal.

76
00:04:55.500 --> 00:05:01.800
You've got C++, and the cool thing is they use a tool called Live++ to make the C++ work a lot like a scripting language.

77
00:05:02.100 --> 00:05:06.200
So you don't have to do a full link build cycle to check your code out and that kind of stuff.

78
00:05:06.600 --> 00:05:09.900
But really you've got C++ and you've got Blueprints.

79
00:05:09.900 --> 00:05:15.200
Now Blueprints is a visual programming language, and it is, in my humble opinion, the visual programming language.

80
00:05:15.200 --> 00:05:19.400
It is the best option out there of all of the various different game engine visual programming language.

81
00:05:19.600 --> 00:05:23.400
And every game engine is working towards having a visual programming language.

82
00:05:23.400 --> 00:05:29.000
It's just in the case of Unreal Engine. It was designed from day one of Unreal Engine 4th release to be

83
00:05:29.500 --> 00:05:34.700
kind of the way that gameplay is done, and it is by far the best experience. And again in my opinion.

84
00:05:34.700 --> 00:05:38.000
Now, when it comes to Godot, they have a visual programming language as well.

85
00:05:38.000 --> 00:05:41.800
It's pretty terrible. I can't think of a single reason to use it as it stands right now,

86
00:05:41.800 --> 00:05:44.400
but fortunately, Godot has a number of other options here.

87
00:05:44.400 --> 00:05:47.000
So first off, you've got GDScript, a Python like

88
00:05:47.000 --> 00:05:52.700
kind of scripting language. It's very easy to learn. It kind of thing you can pick up over a weekend easily.

89
00:05:52.900 --> 00:05:57.500
And if you've got some prior Python experience, you can basically just start coding without even learning the language.

90
00:05:57.800 --> 00:06:00.200
But on top of that, you've got other options.

91
00:06:00.200 --> 00:06:04.599
So you've got C++ the game engine itself is written up, but you could also do your own

92
00:06:04.600 --> 00:06:07.500
game logic in modular form using C++.

93
00:06:07.900 --> 00:06:12.299
It's not really ideal to be honest. So I would mostly stick to

94
00:06:12.500 --> 00:06:16.100
other languages than C++ for your game logic, but technically you can do it.

95
00:06:16.400 --> 00:06:19.500
On top of that, you can also use C#.

96
00:06:19.500 --> 00:06:22.800
C# is getting better and better support with 3.2.

97
00:06:22.800 --> 00:06:26.700
It's basically on every platform that matters except for iOS.

98
00:06:26.900 --> 00:06:29.599
Once iOS is there, it's pretty much a first class language.

99
00:06:29.600 --> 00:06:32.400
So if you want to work in C# in Godot,

100
00:06:32.400 --> 00:06:38.299
that is pretty much like the new Star feature that's being added, and it is definitely a first class language support.

101
00:06:38.599 --> 00:06:41.700
But language flexibility doesn't really end there when it comes to Godot.

102
00:06:41.700 --> 00:06:44.900
On top of that you've also got things like GDNative.

103
00:06:45.300 --> 00:06:48.100
And GDNative is the ability to create kind of

104
00:06:48.100 --> 00:06:52.700
DLL Loading on the fly, so you can link your native code using GDNative,

105
00:06:52.700 --> 00:06:56.400
but you don't have to completely rebuild the Godot engine itself.

106
00:06:56.400 --> 00:07:01.600
It's this narrow interface bridge, and using it, you can then integrate

107
00:07:01.600 --> 00:07:04.900
almost any other kind of programming language you want out there;

108
00:07:04.900 --> 00:07:10.499
or any other C++ code you want to bring in a different physics engine or something you could hook it up via GDNative.

109
00:07:10.800 --> 00:07:16.100
And you just kind of deal with your bindings. It's built separately. It's built as a plugin to deal to a Godot.

110
00:07:16.100 --> 00:07:19.000
It's not actually requiring you to completely rebuild code.

111
00:07:19.200 --> 00:07:24.100
And if you want to go one step lower level, you can actually create modules in Godot.

112
00:07:24.100 --> 00:07:28.000
Basically think of this as straight up plugins, but they have 100% access

113
00:07:28.000 --> 00:07:30.200
to the underlying APIs.

114
00:07:30.200 --> 00:07:34.700
So any C++ class that's available in Godot is available in modules.

115
00:07:34.700 --> 00:07:39.400
So you've got a lot of language options when it comes to working with the Godot engine.

116
00:07:39.600 --> 00:07:42.400
And so if you find yourself needing to do some performant code

117
00:07:42.400 --> 00:07:45.900
rather than a module form like C++ at native code, and you're good to go.

118
00:07:45.900 --> 00:07:50.000
You want to link in some existing C code or C++ code,

119
00:07:50.000 --> 00:07:53.600
use GDNative do a quick binding and boom you're off to the races.

120
00:07:53.600 --> 00:07:57.700
And in fact, GDScript itself is actually implemented as a module.

121
00:07:57.700 --> 00:08:02.700
So, you could modify GDScript very easily. It's up here. You can create your own scripting language

122
00:08:02.700 --> 00:08:05.300
pretty much just by cloning what GDScript does.

123
00:08:05.300 --> 00:08:11.600
So in terms of the language support, I would actually say that this is definitely a strength of the Godot engine.

124
00:08:11.600 --> 00:08:17.500
Now they all have options on their marketplaces. I'm not really taking their marketplace into account in this scenario.

125
00:08:17.500 --> 00:08:20.100
This is all stuff that is supported by the core team.

126
00:08:20.600 --> 00:08:24.400
<span style="color:black; background-color:lemonchiffon">《Reason④ 08:20 Ease of Use 》</span>Next up, we come into ease of use. Now, this one is incredibly subjective;

127
00:08:24.400 --> 00:08:30.000
but when it comes to games, especially 2D games, I find that

128
00:08:30.420 --> 00:08:34.020
the ease of use with the Godot is by far and away the highest of the three.

129
00:08:34.159 --> 00:08:37.659
Now, when it comes to 2D, Unreal engine kind of gave up.

130
00:08:37.700 --> 00:08:41.000
Don't get me wrong. 2D games are created using Unreal engine,

131
00:08:41.000 --> 00:08:43.600
but anybody doing that, they're rolling everything themselves.

132
00:08:43.600 --> 00:08:49.959
So you're creating it basically using a 3D game engine, and all of t  he 2D stuff is on you to create.

133
00:08:50.000 --> 00:08:53.800
Now they were really heavily focused on this. When four launch, they had something called Paper 2D.

134
00:08:54.360 --> 00:08:58.460
And then I don't think Paper has been updated in about 17 versions now,

135
00:08:58.760 --> 00:09:02.760
so you can effectively consider Paper to be pretty much dead, at least from Epics perspective.

136
00:09:02.760 --> 00:09:06.760
Apparently, there's a third party of communities working on making Paper a thing again.

137
00:09:06.800 --> 00:09:11.599
But for the most part, 2D support in the world of Unreal Engine has always been, yeah.

138
00:09:12.060 --> 00:09:16.359
And then when we come over to Unity, well, Unity is focused heavily the last two or three years

139
00:09:16.400 --> 00:09:21.600
on 2D game development, and there are a ton of games out there that are built using Unity for 2D;

140
00:09:21.600 --> 00:09:23.400
so no doubt it is capable of it.

141
00:09:23.400 --> 00:09:27.199
But this is a 3D engine with the 2D stuff kind of built on top of it.

142
00:09:27.200 --> 00:09:33.800
And then on top of that, a lot of the 2D stuff that you're seeing come out with the newer releases is modular based, and that's great.

143
00:09:34.000 --> 00:09:38.500
But that also is hell because there's something called dependency hell that you start getting into.

144
00:09:38.500 --> 00:09:43.800
And if you really want to take advantage of some of the new features, it can create a challenge for you;

145
00:09:43.800 --> 00:09:48.160
where you're dealing with things in Godot. You got everything you need to work with 2D out of the box.

146
00:09:48.160 --> 00:09:50.360
You can work with literal Pixel coordinates.

147
00:09:50.400 --> 00:09:54.199
You don't need to deal with it's fully abstracted away the 3D aspect.

148
00:09:54.199 --> 00:09:57.160
You can mix 2D and 3D, but it's just not there.

149
00:09:57.160 --> 00:10:00.660
So like, you want a sprite, to drag a Sprite onto the game,

150
00:10:01.140 --> 00:10:03.740
if it's got a Pixel level camera,

151
00:10:03.740 --> 00:10:09.100
so you put the camera in and you're good to go. So you kind of it fixed 2D very well for you.

152
00:10:09.760 --> 00:10:12.060
So I would honestly say it again. This is subjective.

153
00:10:12.100 --> 00:10:16.000
But I would say of all the game engines out there, especially when it comes to 2D,

154
00:10:16.260 --> 00:10:22.060
I would say GDScript is the easiest of the languages to learn between GDScript, C#, Blueprints, or C++.

155
00:10:22.560 --> 00:10:25.959
And I would say that the editor and

156
00:10:25.960 --> 00:10:28.760
development experience is actually easiest in 2D

157
00:10:29.160 --> 00:10:31.260
when you get in with the Godot engine.

158
00:10:31.500 --> 00:10:34.500
<span style="color:black; background-color:lemonchiffon">《Reason⑤ 10:31 It's Tiny! 》</span>Next up, this one is a very short one, but it's tiny.

159
00:10:34.500 --> 00:10:38.600
So this is really appealing to some people, and I can get the appeal of this.

160
00:10:38.900 --> 00:10:44.600
If you want to install Unreal Engine, you've got to install the Epic Games launcher

161
00:10:44.600 --> 00:10:49.900
and then install a version of Unreal, which I think is about 6GB right now?

162
00:10:50.200 --> 00:10:52.500
If you want to install Unity, you need to

163
00:10:52.500 --> 00:10:58.100
I think I'm not 100% certain if they're forcing you to, but it's getting closer and closer to a requirement install the Unity Hub.

164
00:10:58.500 --> 00:11:02.000
And then you install a version of Unity. Now a stripped down version of Unity,

165
00:11:02.000 --> 00:11:05.600
I think is about one and a half gigabytes, and then you start with stacking

166
00:11:05.800 --> 00:11:09.099
various different platform support and so on.

167
00:11:09.400 --> 00:11:14.300
You're looking at 3 or 4GB per install very, very quickly.

168
00:11:14.500 --> 00:11:18.600
With Godot you go, you download either the Mono version or the C# version

169
00:11:18.600 --> 00:11:21.600
or not, which increases the size by ten megabytes.

170
00:11:21.600 --> 00:11:25.500
So you're either picking a 50 megabyte install or a 60 megabytes installed.

171
00:11:25.500 --> 00:11:29.400
There is no launcher, there is no platform, there's nothing else. You'll literally download the Zip,

172
00:11:29.400 --> 00:11:32.900
extract it out and run the Executable, and you've got Godot on your system.

173
00:11:32.900 --> 00:11:37.100
So if you're working on a constrained device or you want to have your

174
00:11:37.100 --> 00:11:39.859
development environment on a flash drive or something like that,

175
00:11:39.900 --> 00:11:42.500
this is where you never really gets dark really really shines.

176
00:11:42.500 --> 00:11:47.800
Now there still are the templates for the various different platforms. But even with those installed that's say another 100 megabytes.

177
00:11:47.800 --> 00:11:49.600
So you're looking at quite literally

178
00:11:50.259 --> 00:11:54.259
one 6th the size of Unity at the very smallest.

179
00:11:54.300 --> 00:12:01.400
And in practical cases, you're looking more like one 100th the size of Unity and Unreal engine, so it is absolutely tiny.

180
00:12:01.500 --> 00:12:05.000
And for people that love that kind of stuff, well, I can see why they would like that.

181
00:12:05.859 --> 00:12:09.759
<span style="color:black; background-color:lemonchiffon">《Reason⑥ 12:05 Personal Preference 》</span>And then this one is kind of more general or universal.

182
00:12:09.800 --> 00:12:15.800
Hey, you may like it better. Each game engine is using a slightly different approach to how you build your world.

183
00:12:15.959 --> 00:12:19.160
Everything is pretty much a scene of nodes with stuff in it.

184
00:12:19.200 --> 00:12:22.300
The composition base, everything has some kind of a component.

185
00:12:22.300 --> 00:12:25.699
Unity right now is going through a revolution

186
00:12:25.700 --> 00:12:29.400
or a reinvention where they're moving towards a pure ECS approach.

187
00:12:29.400 --> 00:12:34.400
But until then, basically it was basically components entities with components.

188
00:12:34.400 --> 00:12:36.600
So any kind of have a very similar thing.

189
00:12:36.600 --> 00:12:39.700
It's actors or whatever when you're talking in the unreal world.

190
00:12:39.700 --> 00:12:46.000
And in the Godot world, it's node. Everything is a node, everything, including the scene. The scene is a node.

191
00:12:46.000 --> 00:12:49.400
So you've got the concept of prefabs that were just added to

192
00:12:50.760 --> 00:12:55.760
Unity, like 3 versions or 4 versions ago. That is kind of core to the world of Godot.

193
00:12:56.000 --> 00:13:01.200
If you like the concept of nodes and everything being a node and scenes being trees of nodes and

194
00:13:01.200 --> 00:13:06.300
nodes being savable and instantiate in other nodes, you're going to love Godot.

195
00:13:06.300 --> 00:13:09.000
If you don't like nodes, you're not going to love Godot.

196
00:13:09.300 --> 00:13:12.900
But really, it kind of boils down to they all have their slightly different workflow.

197
00:13:12.900 --> 00:13:15.100
You may like GDScript, you may despise GDScript.

198
00:13:15.100 --> 00:13:19.400
You may like C#, and if you like C#, well, eventually Godot could be a good option.

199
00:13:19.400 --> 00:13:24.199
But right now Unity is probably the best choice there. And if you want a visual programming language, hands down,

200
00:13:24.200 --> 00:13:26.700
you probably want to go with Blueprints, at least for now.

201
00:13:27.100 --> 00:13:31.600
So each one has their own strengths and weaknesses and desirability and so on.

202
00:13:31.900 --> 00:13:34.199
And you kind of almost have to try it to see it.

203
00:13:34.200 --> 00:13:39.200
So it's very very possible you could download to start developing and hate the architecture.

204
00:13:39.200 --> 00:13:43.500
It's just the way it is. It's a design decision that they have chosen at the same time.

205
00:13:43.900 --> 00:13:46.699
This is going to be funny. I think it's going to happen with Unity

206
00:13:46.700 --> 00:13:51.300
is the people that love the Mono behavior component kind of idea now;

207
00:13:51.500 --> 00:13:56.000
that they've got with the existing Unity, I think they're going to despise entity component system.

208
00:13:56.000 --> 00:13:58.700
So you're gonna have a weird fragmentation going on there.

209
00:13:58.700 --> 00:14:02.300
And then my beef against Unreal Engine has always kind of been the same thing.

210
00:14:02.300 --> 00:14:08.699
When I'm dealing with Unreal Engine code, it always feels like I'm modding a first person or a third person shooter game.

211
00:14:08.700 --> 00:14:12.600
So if you're working with a genre outside of those, you're fighting the code base a bit.

212
00:14:12.600 --> 00:14:16.600
It does seem like things like actors and ponds and the structure in the

213
00:14:16.600 --> 00:14:21.100
way that code is developed in Unreal Engine, it does kind of

214
00:14:21.680 --> 00:14:24.579
it shows its roots with the way you're working.

215
00:14:24.600 --> 00:14:28.200
So each one is going to definitely have a strength and weakness.

216
00:14:28.200 --> 00:14:30.300
And if you're working on a first or third person shooter,

217
00:14:30.300 --> 00:14:34.900
that's actually in its favor, so that code will fit in that genre game very nicely.

218
00:14:34.900 --> 00:14:41.400
But if you're trying to make something more generalized, like a procedural RPG style game may not be the best approach in the end.

219
00:14:41.400 --> 00:14:44.800
So the last category there basically boils down to,

220
00:14:44.800 --> 00:14:47.599
you may like Godot the best because you'd like to do the best.

221
00:14:47.600 --> 00:14:50.100
It's kind of dumb, but it's true.

222
00:14:50.100 --> 00:14:54.200
Some people like certain styles on people don't. You kind of got to get your hands pretty to decide which ones.

223
00:14:55.000 --> 00:14:58.100
And then finally we're going to get into one last category here.

224
00:14:58.100 --> 00:15:03.200
And this is not why you would pick up Godot. I've been saying nothing but roses of Godot so far in this video.

225
00:15:03.200 --> 00:15:09.900
But there's definitely reasons why Godot isn't the right choice. Like I said to start this video, anyone that tells you that X is better than Y

226
00:15:10.300 --> 00:15:12.700
without a qualifier, they're an idiot.

227
00:15:12.700 --> 00:15:17.500
And this is kind of where it comes down to our shades of Gray. There are different needs or a different requirement, and there are areas

228
00:15:17.500 --> 00:15:20.700
where Godot doesn't shine and I will go through them right now.

229
00:15:20.700 --> 00:15:25.900
<span style="color:black; background-color:lemonchiffon">《 15:17 Why Not Choose GODOT? ① Performance 》</span>Now the first one is performance. Now there are some complaints about GDScripts performance, and I get that

230
00:15:25.900 --> 00:15:28.300
and it could definitely be improved.

231
00:15:28.300 --> 00:15:32.000
And at the same time, you haven't heard me mention 3D very much here,

232
00:15:32.000 --> 00:15:34.100
and yeah, so it boils down.

233
00:15:34.600 --> 00:15:38.700
I would say it goes Unreal Engine has the best 3D rendering.

234
00:15:38.700 --> 00:15:41.500
Unity is improving, definitely with

235
00:15:41.500 --> 00:15:45.400
HDR and LRP or Universal render pipeline. Where the hell are calling it now?

236
00:15:45.660 --> 00:15:48.760
But even it out of the box render. I probably would have put it number 2;

237
00:15:48.800 --> 00:15:52.400
and then Godot would be number 3. Now, Godot is getting all kinds of love

238
00:15:52.400 --> 00:15:55.199
in the rendering side of things when it comes to Godot 4.

239
00:15:55.200 --> 00:15:59.700
But we're not talking about what Godot is going to be. We're talking about what Godot is right now.

240
00:16:00.060 --> 00:16:05.260
And what Godot is right now is lagging behind graphically, especially in the world of 3D.

241
00:16:05.300 --> 00:16:07.599
So we've got some performance issues. We could definitely

242
00:16:07.600 --> 00:16:12.100
people point out that a lack of scene calling is a performance limitation,

243
00:16:12.100 --> 00:16:14.400
and we're waiting on the Vulcan renderer to come through.

244
00:16:14.400 --> 00:16:18.200
So in this area, performance is definitely one of the areas where Godot struggles now,

245
00:16:18.200 --> 00:16:20.560
not in the 2D world, very much less so there.

246
00:16:20.600 --> 00:16:24.060
But if you're doing a really a triple A style 3D game,

247
00:16:24.160 --> 00:16:26.160
you're going to struggle with Godot performance wise.

248
00:16:26.360 --> 00:16:30.660
<span style="color:black; background-color:lemonchiffon">《 16:26 Why Not Choose GODOT? ② Platform Support 》</span>Now, the next category is platforms, and this is part of where the MIT license

249
00:16:30.700 --> 00:16:33.000
of Godot is a doubleedged sword.

250
00:16:33.000 --> 00:16:38.200
Both Unity and Unreal support every single platform under the sun.

251
00:16:38.200 --> 00:16:42.000
And the reason behind that is basically if someone like Nintendo

252
00:16:42.000 --> 00:16:45.200
or a VR headset manufacturer like HTC

253
00:16:45.200 --> 00:16:50.500
are working on new product, they work with Unity and Unreal Engine right from day one.

254
00:16:50.760 --> 00:16:56.560
So when these products launch generally, they're compatible with the two major engines Day one,

255
00:16:56.800 --> 00:16:59.200
so is the nature of the beast.

256
00:16:59.200 --> 00:17:04.200
And Godot doesn't have that level of hardware access. Basically, they got to wait for the product to come to market,

257
00:17:04.200 --> 00:17:06.500
and then some in the community has to go and run with it.

258
00:17:06.500 --> 00:17:10.300
So you're not going to see Day One support for a lot of this hardware like you would.

259
00:17:10.300 --> 00:17:14.700
Hopefully we start seeing manufacturers work more closely with Godot in the future for better support there.

260
00:17:14.700 --> 00:17:19.800
But as it stands today, you're almost always going to be beat to market by Unity and Unreal Engine.

261
00:17:19.800 --> 00:17:23.396
Now, on top of that. And I mentioned earlier on the limitations of the MIT license,

262
00:17:23.900 --> 00:17:29.100
MIT or open source in general and closed source proprietary

263
00:17:29.100 --> 00:17:33.300
NDA packed developer console licenses

264
00:17:33.300 --> 00:17:36.300
are not really that friendly to each other.

265
00:17:36.300 --> 00:17:39.300
So in order to build a game for

266
00:17:39.300 --> 00:17:44.000
the Sony PlayStation or Nintendo Switch or Microsoft not using UWP,

267
00:17:44.300 --> 00:17:48.100
you need to sign a Devkit license directly with those manufacturers.

268
00:17:48.100 --> 00:17:52.899
So right now, even though Godot has been ported to run on various different console platforms,

269
00:17:53.300 --> 00:17:56.200
it's on a closed and proprietary basis.

270
00:17:56.200 --> 00:18:02.000
So you're not going to see PlayStation Xbox integration out of the box

271
00:18:02.300 --> 00:18:07.800
from Godot anytime soon, because that just isn't really that compatible with the open source way of doing things.

272
00:18:08.100 --> 00:18:12.899
And that's as much on the console manufacturers as it is on the Godot engine.

273
00:18:12.900 --> 00:18:17.500
But don't worry on the level that if you do make a game that could be made for consoles,

274
00:18:17.500 --> 00:18:20.400
the skill and ability to do so is already out there.

275
00:18:20.800 --> 00:18:23.899
It's just not something that is there out of the box, and it probably never will be.

276
00:18:24.500 --> 00:18:28.300
<span style="color:black; background-color:lemonchiffon">《 18:24 Why Not Choose GODOT? ③ Ecosystem 》</span>The next point of negative for the Godot engine is the ecosystem.

277
00:18:28.300 --> 00:18:30.700
Now, I don't mean this as a slight in any way.

278
00:18:30.700 --> 00:18:35.300
The Godot ecosystem is good. The community itself is absolutely

279
00:18:36.460 --> 00:18:38.060
Passionate. We'll go with.

280
00:18:38.100 --> 00:18:44.300
It's quite large so you can get good support. There are a handful of books out there. There are some excellent tutorials out there.

281
00:18:45.580 --> 00:18:49.780
So definitely there is a good ecosystem built around Godot.

282
00:18:49.800 --> 00:18:55.480
But when it comes to comparing it against Unreal Engine and Unity, it's not even

283
00:18:55.900 --> 00:19:00.100
isn't not even close. So when I'm talking ecosystem, I'm talking not just the users;

284
00:19:00.100 --> 00:19:04.199
but the communities, the forums, the books available,

285
00:19:04.200 --> 00:19:07.900
the marketplaces or asset stores or so on,

286
00:19:08.220 --> 00:19:12.920
training courses, professional training, all that kind of stuff, conferences, everything like that.

287
00:19:13.420 --> 00:19:18.820
I bet you that Unity employees at least 100 developer evangelist.

288
00:19:19.120 --> 00:19:23.420
So you got an idea of just the scope that you're dealing with here the ecosystem for

289
00:19:23.720 --> 00:19:27.620
I would say Unity is the winner here, followed by Unreal, followed by Godot.

290
00:19:27.620 --> 00:19:32.000
Godot has an asset store, but it's tiny compared to both those and completely free, which is definitely an upside,

291
00:19:32.520 --> 00:19:35.420
but it's just a matter of scale.

292
00:19:35.420 --> 00:19:40.800
So if you're looking for assets, you're not going to be Unity just for the sheer volume of what's out there.

293
00:19:41.100 --> 00:19:45.100
If you're looking for materials, you want to go down to your local book store.

294
00:19:45.100 --> 00:19:50.420
If you still have a local bookstore or you head to Amazon. If you don't, you're going to find maybe

295
00:19:51.240 --> 00:19:54.640
300 books on Unity where you might find 3 on Godot.

296
00:19:54.640 --> 00:19:59.899
The ecosystems are just gigantic. And actually that's a valuable thing for any game engine have.

297
00:20:00.440 --> 00:20:04.740
<span style="color:black; background-color:lemonchiffon">《 20:04 Why Not Choose GODOT? ④ Resume Factor 》</span>And then the next part. To be honest, this is part of ecosystem, but I'll put this separately,

298
00:20:04.740 --> 00:20:08.540
and this really kind of depends on what you're in it for and why you are developing games.

299
00:20:08.540 --> 00:20:11.200
If you're developing games as a passion project, completely ignore this one.

300
00:20:11.200 --> 00:20:15.300
If you're developing games because you're going to develop and release them yourself, ignore this point as well.

301
00:20:15.500 --> 00:20:16.800
But if you are developing games

302
00:20:16.800 --> 00:20:21.200
because A: you want to get a job in game industry;

303
00:20:21.520 --> 00:20:25.220
or B: you're developing games and you want to recruit people to work with you.

304
00:20:25.220 --> 00:20:27.800
Well, then this matters. This is the resume factor.

305
00:20:27.800 --> 00:20:32.099
Now, when you are looking for people with experience or when you see a job listing,

306
00:20:32.600 --> 00:20:37.399
it will say Unity Experience or Unreal Engine Experience, a plus or required or whatever.

307
00:20:37.400 --> 00:20:39.400
Very rarely do you see this for Godot.

308
00:20:39.400 --> 00:20:42.600
So if you're looking for a project, if you contribute to a project,

309
00:20:42.600 --> 00:20:45.300
if it's a smart hirer, they won't really care that much.

310
00:20:45.300 --> 00:20:49.899
They see that you've shipped a game, they'll be impressed by that. And normally that's the requirement.

311
00:20:50.420 --> 00:20:53.420
But a lot of times when you're applying, especially to a larger or a midsized company;

312
00:20:53.620 --> 00:20:59.219
you're going through the HR layer and they're going to have a bullet point of features they are looking for. And quite often that feature

313
00:20:59.420 --> 00:21:02.720
on the resume is going to be something like Unity experience.

314
00:21:02.720 --> 00:21:06.500
So if you're looking to do your game project as a CV builder,

315
00:21:06.500 --> 00:21:09.600
you're probably better going with either Unity or Unreal Engine,

316
00:21:09.600 --> 00:21:11.899
probably Unity and the biggest scheme.

317
00:21:13.200 --> 00:21:15.700
<span style="color:black; background-color:lemonchiffon">《 21:13 Why Not Choose GODOT? ⑤ Key Individuals 》</span>And then finally, this is the last one.

318
00:21:16.080 --> 00:21:20.679
As with many open source projects, it is heavily dependent on one or two key developers.

319
00:21:22.879 --> 00:21:28.280
It is, Yeah, actually there's mostly one person one if he decided to leave,

320
00:21:28.620 --> 00:21:31.919
Godot would be in trouble now, I don't think it would go away. It's not source project.

321
00:21:31.919 --> 00:21:34.600
Anyone can go in there and pick up the pieces and run with it.

322
00:21:35.120 --> 00:21:40.419
But he's writing the core level stuff. He's writing the renderers right now. He's kind of the key developer.

323
00:21:40.419 --> 00:21:46.000
Sort of like what happened to ID Tech when John Carmack left. When you've got a smallish team working on technology

324
00:21:46.320 --> 00:21:48.919
and one of those key people leaves you're in trouble.

325
00:21:48.919 --> 00:21:53.000
Now, I don't think there's any reason to guess that he's gonna leave. There's no intention there,

326
00:21:53.000 --> 00:21:56.500
but it is definitely a risk factor when you look at something like Godot.

327
00:21:56.500 --> 00:22:00.800
It could lose a lot of momentum overnight if they lost key developers.

328
00:22:01.100 --> 00:22:04.000
Whereas if you got something like Unity or Unreal,

329
00:22:04.200 --> 00:22:08.100
you probably have hundreds or possibly even thousands of people that work there.

330
00:22:08.400 --> 00:22:11.500
And if the graphics programmer leaves, it might be a bit of a setback.

331
00:22:11.500 --> 00:22:16.300
But they've got probably three people trained under him that know already what he does or she does.

332
00:22:17.720 --> 00:22:21.720
And you just slot in a replacement. I hate to make it sound that bad that

333
00:22:21.720 --> 00:22:26.700
if you're at Unity or Unreal Engine, your contributions are still definitely appreciated;

334
00:22:26.700 --> 00:22:31.000
but you are more of a cog in the machine, and that machine can function without you.

335
00:22:31.000 --> 00:22:35.000
And that's kind of a fragility when it comes to open source projects that aren't

336
00:22:35.320 --> 00:22:39.720
Linux kernel or MySQL sized, if you lose key developers.

337
00:22:40.700 --> 00:22:44.920
So that's it. That is pretty much the reason why, if you say

338
00:22:45.340 --> 00:22:50.340
I can get a hold of Unreal or I can get a hold of Unity for free, why would I bother with Godot?

339
00:22:50.500 --> 00:22:54.900
Those are the reasons why I would and then to finish things off. The reasons why I wouldn't.

340
00:22:54.940 --> 00:22:56.840
Now, if I missed anything, if I missed something,

341
00:22:57.100 --> 00:23:01.899
I'm not really smiling. I didn't get into details of like skeletal animation or

342
00:23:03.600 --> 00:23:07.100
level streaming over networks or that kind of stuff.

343
00:23:07.100 --> 00:23:10.100
So I didn't want to get into the weeds on features or functions

344
00:23:10.100 --> 00:23:14.100
emotional game. And though they do most of what you require, so it's not really a big point.

345
00:23:14.100 --> 00:23:19.000
But if there's something here, especially at the macro level that I missed, either as a strength or a weakness,

346
00:23:19.000 --> 00:23:21.300
I'd love to hear it in the comments down below.

347
00:23:21.300 --> 00:23:25.800
And hopefully that was useful to some of you people trying to decide if Godot is right or wrong for you, if it's looking at it.

348
00:23:25.800 --> 00:23:29.300
And after seeing this list, I say the next big suggestion is

349
00:23:29.300 --> 00:23:32.100
pick it up. It's a 50 megabyte download. Give it a shot.

350
00:23:32.100 --> 00:23:35.500
See if you like the way it's architected. See if you like the node based approach.

351
00:23:35.500 --> 00:23:38.300
See if you like GDScript or the C# bindings.

352
00:23:38.300 --> 00:23:40.100
And if you do, hey, it's a great choice,

353
00:23:40.100 --> 00:23:43.699
if you don't, Hey, there's a couple of great alternatives out there. Actually, there's dozens.

354
00:23:43.700 --> 00:23:47.900
So and also stay tuned. I will do that. Unity versus Unreal Engine comparison.

355
00:23:47.900 --> 00:23:52.400
I've actually covered quite a bit of it in this video by accident, but stay tuned for that.

356
00:23:52.400 --> 00:23:53.900
All right, that's it. Talk to you all later. Goodbye.

