Monday, November 20, 2023

The one thing that Unreal Engine did right that Unity did wrong

When it comes to game engines used in triple-A games, the competition was quite fierce in the 1990's and early 2000's, but ultimately two engines became so immensely popular, both among big triple-A studios as well as many indie studios, that they have become almost ubiquitous and have the vast, vast majority of the market share among themselves, with other engines being left almost completely in the dust.

These game engines are, of course, Unreal Engine and Unity.

In terms of features and visual quality these engines are extremely similar, and are in a constant competition between themselves on which one can out-compete the other in terms of visuals and fancy "next gen" features.

However, for the longest time (more so in the past than today, but still to a large extent even to this day) these engines have had a rather different reputation among gamers.

Unity has always been considered a kind of "cheaper", "smaller" and, in a way, "worse" engine, while Unreal Engine has got this image of being a serious heavy-hitter for the truly massive and impressive multi-million-dollar budget triple-A games.

In fact, Unity has for quite a long time had this negative association with scammy asset-flip trash that gets dumped onto Steam and other digital stores just for a quick buck. It seems like it's almost too easy to make games (especially mediocre ones) with Unity, allowing scammers and opportunists to quickly make something that superficially looks like a game (and may even have fancy-looking screenshots) to try to fool people into buying them so they can essentially defraud them of money with a complete trash asset flip unstable game-in-name-only.

Likewise Unity has for the longest time had this image of being associated with free-to-play and very cheap small indie games, made by either individual people or extremely small indie studios.

In contrast, as mentioned earlier, Unreal Engine has always had this strong association with really big-budget massive high-quality triple-A titles. Almost all of the really big and famous game franchises seem to use it. Unreal Engine isn't really associated with small indie games nor scammy asset flips.

Is this because Unity is free to use and Unreal Engine is very expensive (and thus only affordable by big game studios)? No. Both have extremely generous usage licenses that allow using them for completely free up to surprisingly large amounts of revenue (and even after that you pay from your revenue, not upfront). Anybody can use either engine completely for free, no strings attached.

Is it because Unity is a very small and simple engine suitable only for small and simple games, while Unreal Engine is a massive engine supporting all the bells and whistles? Again, no. As also mentioned earlier, both are very modern and very complete in their support for modern gaming features, and are both capable of very similar graphics and other video game technologies. It is perfectly possible to do a full-on hundred-million-dollar-budget huge triple-A game with Unity, and a very small and cheap indie game with Unreal Engine.

So given how similar both engines are in terms of features, size, scope and usage licenses, how come Unity has got this reputation of being for small indie games and scammy asset flips, while Unreal Engine has got this image of being a "big boys" engine for the massive triple-A games?

This is because of one perhaps a bit surprising policy that the creators of the game engines have had for the longest time. And, more precisely, because the engines are polar opposites in terms of this particular policy.

You see, since pretty much the beginning and up to this day (although this was recently changed, if I remember correctly), the free version of Unity had the policy that any game made by it had to display the Unity splash screen when launching the game. Only a paid license of the engine would allow disabling the splash screen.

The developers of Unity probably thought that this would work as advertisement for their engine, in return for it being free to use. A bit like a small form of paid-by-ads (or, more precisely, by one ad in this case).

In contrast, Unreal Engine has the exact opposite policy: In other words, it's not allowed to show the Unreal Engine splash screen in your game unless you get a particular paid license for the engine. In other words, you need to get permission to show the Unreal Engine splash screen, else you can't show it.

Well, turns out that Unreal Engine, perhaps serendipitously or because of amazing foresight, had the better idea.

The reason why Unity is often associated with small crappy games and scammy asset flips is precisely because they all show the Unity splash screen when launched (it can't be disabled in the free version). Bigger triple-A games, however, usually disable the splash screen because it may not go well with their aesthetics of the game.

Thus there's a strong association between the Unity splash screen and the small crappy games.

In contrast, you almost exclusively see the Unreal Engine splash screen in huge triple-A games, and never in small indie games (where it's outright forbidden from being used, even if the game uses the engine), which is why the name is often associated with the former.