Let me start by saying that I am a huge fan of Unreal Engine. Over the past few years, it has probably become my favourite engine of them all. I have tried looking for a game engine that suits my needs for a while. I tried using Gamemaker, Unity, Godot Engine, Cocos and probably a couple of others that I forgot about, and was never never quite satisfied with them because some important feature was either missing or broken. Needless to say, no game engine can be perfect, so that is to be expected, but Unreal Engine seemed to be the exception to that. Even after using it for an extended amount of time, there was very little that I would have liked to changed about it. However, there was one thing I couldn’t help but notice, which is the quite apparent lack of 2D support. I have seen a small number of suggestions regarding that matter, but rather than just complaining about it, I would like to bring up a few points about why the 2D part of Unreal Engine might deserve more attention than it is getting. I understand that I am just an individual with no knowledge of what Epic Games, as a company, is concerned with at the moment, so surely there is reasons for 2D not being as actively developed anymore, but here are just some points that might be worth considering.
1. The people using 2D are a silent majority
Most of the people who are interested in developing 2D-Applications in Unreal Engine are simply not as loud as those who will be using features like virtual reality or impressive graphical effects. Whenever there is an announcement about support for some “new” technology (say VR) there is a huge hype about it. Big companies, students, gamers or simply people interested in the newest trends make a huge fuss about it, write about it on their blogs and tell their friends about it. It is a nice attention-getter of course, but let’s face it: A lot of those will never even attempt to make a playable game using these features. They will have a look at them, be impressed and leave. New features are always welcome of course, but seeing how we now have a VR editor and fancy, complicated lights and reflections, I can not help but feel that those features, which frankly, the majority of indie developers have absolutely no use for, came at the cost of some more basic features, that would be used by a much wider audience. (After all, 2D has been stuck in experimental for what I believe has been 2 years now)
On the contrary, when a new 2D feature is released, there is very little talking about it, but you can bet that there will be a ton of people using it, and in fact it might be a must-have for a lot of them. To me this seems to be the classic dilemma of what the people (seemingly) want vs. what the people need. (Well, that and I guess it might simply be more entertaining for the UE-Staff to add those new features, rather than plain old 2D) You can give a homeless man an expensive, impressive-looking car that he doesn’t know how to drive, but he would be much better off with something to eat.
2. The fundamentals are there, and they are great!
While I was looking for an engine to use, I noticed that the majority of them do not feature a tile editor. Godot is extremely lacking when it comes to importing tilesets and Unity (Which mind you, pretentiously announces itself as a fully-fledged 2D engine) does not feature a built-in tile editor at all! Neither does it have support for 2D pathfinding (which I got to work in Unreal Engine rather easily once I got the hang of it, albeit with a bit of effort). I tried developing a small 2D game with what I had available in UE (I can share that, if someone is interested), and made much quicker progress than with Unity. The issue was that at some point, I hit a wall in development due to 2D collider and rendering shenanigans and it was simply impossible to continue after that without breaking the game. Nevertheless, up to that point, I felt UE performed better than Unity, seemingly without even trying, since the 2D-features were (and still are, sadly) experimental. I am no business expert, but after putting this much work into a project already, is it not a better idea to finish it fully, rather than leaving it in an almost-finished state that makes it pretty much unuseable in most applications that are meant to be published?
3. The lack of 2D support is one of the few things holding UE back
If there was decent 2D support, I personally would not see any reason not to use Unreal Engine for just about every game I develop. Sure, sometimes you want to be extremely memory/performance-efficient and build the game from scratch, without a big game-engine, but other than that, I think it would put UE ahead of all the other engines I tried. The biggest weakness of UE is, that it simply does not appeal to a lot of Indies, and the lack of 2D is the primary reason for that.
As much as I love Unreal Engine, as long as I can not use it for 2D-Applications, I am forced to resort to Unity which has a lot less, albeit reliable 2D-Functionality. The things bothering me most about the 2D side of UE are (in order of importance):
- 2D Collision Detection: Being forced to use 3D Collision on sprites simply breaks games. Although I can only assume here, I don’t think it would take forever to fix, either.
- 2D Rendering: I am commonly getting rendering artifacts that make the game look blurry or cause flickering. This is not caused by the postprocessing, I tested this with all of that turned off, so unless there’s some arcane wizardry to perform in the settings, this is caused by the engine core and can not easily be fixed by the end-user.
- 2D Volumes: This is pretty self-explanatory. 2D Volumes can be used in a lot of places and using 3D volumes instead is just as bad as having to use 3D colliders.
- Reduced Filesize: Although this is not strictly related to 2D, I would disagree that a game of pacman should be using up 50+ MB of space. Surely there have to be ways to reduce the filesize for games using exclusively 2D.
I would be very happy to see Unreal Engine catch up with other game engines in that regard. If it does not happen reasonably soon or at all, it would at least be a nice touch to let all those people, who are waiting and getting their hopes up, know that this is the case. Thanks for taking the time to read this.