Why You Should Learn Another Game Engine, Now…

With the advent of mobile gaming, and Pakistan being a hub for freelance outsource games, Game development is a hot topic, and a rewarding career. In 2010, when I introduced Unity to the Pakistani audience with the first Unity course ever in NUST, and online trainings world-wide under my GameDevTraining brand, little did I know what a phenomenon Unity would turn out to be. Most of my students went on to work at major game studios in Pakistan, some even forming their own startups. I learned and taught Unity because I loved Game Development, and wanted to see it flourish in Pakistan. What started out as a hobby turned out to be a solid step in a long game-development career.

Today, however, the game development arena is not as virgin as it was nearly 6 years ago. Game development is not a state-of-the-art skill, with game engines being mostly free, and easy to use. Hence, the game-development skill-set faces much stiffer competition. The question then is, what can one do to future-proof his/her skill-set in the game development industry?

Taking que from past experience, I strongly believe in constantly expanding one’s skills. If you keep an eye out on emerging technologies, you will be able to reap the benefits of being an early pioneer in hitherto unexplored territories. In Game Development, this means not relying on just one game engine. I strongly encourage you to look at other game engines, and see how they can expand your skill set as a game developer. Some of the most popular alternatives to Unity are: Unreal Engine, Cryengine, Godot, Havok, and Irrlicht.

Out of all of these, I personally believe that Unreal Engine has the biggest distinct advantage, and it should be the next engine you learn after Unity. Why? To see why, let’s delve a little into Unreal Engine. I will assume you already know Unity, and its advantages.

UNREAL ENGINE 4

Unreal Engine 4 recently went free. It is powerful, easy to use, and has been used on countless AAA games such as the Bioshock series as well as the Mass Effect series of games. It’s a great engine to start learning in addition to Unity. Let us look at some of the reasons why you should go for Unreal Engine:

Ease of Use

People are drawn to Unity primarily because of its ease-of-use. Unreal Engine has made great strides in ease-of-use as well. It has a built-in visual programming tool called Blueprints, and let me tell you that it is amazing. A pure visual programming tool such as blueprints does not require any text-based coding knowledge whatsoever. It is based on creating a couple of shapes called “nodes” that represent actions, and then connecting these nodes together to create a chain of events. Visual programming using blueprints make programming accessible to even those that have never programmed before. Unity does not have a built-in visual programming tool. A good comparison is Playmaker, a visual programming tool for Unity that can be purchased from the Asset Store.

 Transferrable Skills used in the AAA industry

Unreal Engine boasts fantastic graphics. It is a proven engine that has been used on countless AAA games. An advantage to learning Unreal Engine 4 is that you can count on learning the same tools and techniques as used professionally in the industry by AAA studios. This means that getting a job at a AAA studio in the future is easier than if you just used Unity. As an example, take a look at the way materials are made in both engines. Unity provides a simple interface, where you choose some textures for predefined attributes such as diffuse and normal. If you want more flexibility, you have to write shaders yourself. To make matters worse, the shaders are written in a custom language developed by Unity Technologies rather than standard GLSL or HLSL, so the knowledge is not even transferable. In contrast, Unreal Engine provides a full-fledge “Material Editor”. The material editor is visual (no programming required), flexible, and even expandable: You can create your own custom nodes using blueprints or C++. Every professional studio I know of uses a material editor for their material editing needs, so the skill is easily transferable.

The material editor is just one example. The particle system, animation editor, and landscape tool are also far more AAA oriented, and any skills learned using them will be transferable to AAA work more easily.

C++ support

C++ is the lingua franca of the game development world. Learning C++ is essential if one considers professional game development a career. Unfortunately Unity does not offer C++ as a language option. Unreal Engine on the other hand expects you to use blueprints for the basics, but to drill down to C++ for the essentials.

Source code access

Unreal Engine provides access to the complete source code. While this sounds unimportant, there are two important advantages to this. First, reading professional game engine code is a great way to learn AAA programming. Second, if you are used to Unity, on a project that is different from run-of-the-mill games in any significant way, you will often run into problems that the engine cannot solve by default. We ran into a similar problem with Unity when working on XPoSim, and had no choice but to e-mail Unity Technologies and then wait for them to make a certain API feature available in the next release. With the source code available, you may dig into the code and make any changes necessary yourself. I am currently running a modified version of the Unreal Engine so that I can enable certain features of a landscape plugin that I have developed. That would not be possible with Unity.

Separate yourself from the noobs

Unreal Engine is decidedly harder to use than Unity, especially if you plan on using C++. While this may sound like a downside, it is actually an advantage. It means that the competition is lower as well. Fewer people will match your skills in Unreal development, and your prospects of getting a game development job which requires the knowledge of Unreal Engine will be much higher in retrospect. As of now, Unreal Engine looks very impressive on a Resume!

WHEN TO USE WHICH?

After reading this article, you may be wondering when to use Unity and when to use Unreal Engine?

I would suggest that you still go for Unity for your regular/routine game development tasks, especially on mobile. Using something new to you on a client-driven project can be disastrous. Unity is therefore very good for your freelance projects.

Lean Unreal Engine in your spare time as a “backup”, to build your portfolio. Besides, go to Unreal for larger tasks, probably more impressive VR, and if you can afford/have a larger team. You can then gradually try Unreal in smaller blueprints-based client projects before moving to Unreal goodness full time…

 

Check Also

Microsoft stepped back from launching VR for Xbox One

Despite of Microsoft announcement regarding the launch of VR headset for Xbox One, company has …