Unreal Engine 4 is a vast and powerful tool which makes making games fun! But, as any complex piece of software, it might be challenging to start learning it. It is not because of a lack of the documentation or tutorials, but because of, ironically, the huge amount of them! Try to search for a UE4 tutorial on youtube. The number of results is overwhelming! Where to start?

During my learning process I was digging around, searching for a perfect, well explaining tutorial which will introduce me to the world of the UE4. I was trying to even do my own series, which didn’t end bad, but it’s far worse than I’d like to. This article will mostly show the collection of the best learning materials I was able to find, so you won’t have to go through the same issue I had.

What is quite interesting, most of the materials are the official tutorials, made by Epic crew. Big applause for taking such a good care for the new adventurers!

UE4 is, of course, a very big tool and it contains many instruments. You can spend years for mastering the material editor, or particle editor, or the animation system only. I will show materials telling how to easily jump into the making simple games without knowing every detail of the engine. It will be an entry point. Mastering the tool is a different story.

Table of content:

The most frequent questions:

Ok, so we want to learn how to make a game in the UE4. We’re going to face few questions right after doing a first reaserch, so let’s cover them now:

Use the Launcher to download binaries or get the source and compile by yourself? If you are not interested in checking experimental stuff or learning how the engine works under the hood – simply use the Launcher. When you want to have a full control, write plugins or experiment with the code – then get Source. But still, you should install Launcher anyway, because it is the easiest way to download stuff from the Marketplace.

Blueprints or C++? Even if you know C++ well and you think that visual scripting is lame – use Blueprints first. They will easily learn you the UE4’s “philosophy”, how things are organized and how they work. They are also much faster for prototyping (C++ isn’t the fastest language in terms of compilation time). When you get the flow of the UE4 you can switch to C++, which is still faster in runtime than Blueprints. Prototyping in Blueprints and then writing final code in C++ is also a strategy recommended by Epic. In the end you will probably use a mix of C++ and Blueprints, or, if you are not a programmer, Blueprints only. Yes, it is completely possible to make a game 100% in Blueprints! Also be prepared that UE4 doesn’t use pure C++. It has it’s own libraries, containers, structures, multithreading, reflection and even garbage collector! It’s more like a language in a language.

– Does the UE4 good for mobiles? Well… Current version (4.12) works pretty well with mobiles, but there are still many fields with which the engine just doesn’t work well. The build sizes are huge and it is not clear how to shrink them, advertising and analytics must be implemented by yourself, there are few issues with manifests/plists generation, and from what I remember online subsystems are still not well written. Also you can launch the UE4 rather on newer, more powerful devices. It is still possible to make a good game on mobiles with the UE4 (look – RealBoxing2) but in my opinion it requires much more work than it should.

– Does the UE4 better than Unity? Difficult and delicate question. I can say that both engines have their strong and weak points. UE4 has every tool needed for making a complete game out of the box. The community is also vast and helpful, while Epic put a lot of work to learn us how to use their own tool. But Unity is somehow easier to deal with and making a simple game is faster. It is also better in terms of mobiles and web. One big advantage of the UE4 is that it’s open source, so it is easier to hotfix, modify or expand the engine functionalities. If you are one man army, or small developer and you are already is using Unity, I don’t think that UE4 will give you more possibilities than you have now. Still, if you are starting an advanture with a game development, I think it’d be a good think to give the UE4 a try!

Where to look for a help?

The first place to look for any information is the Official UE4 Documentation.

If you have a question that is not mentioned in the documentation try the Answerhub (it’s a Stackoverflow for UE4).

There is also a Forum for more advanced topics, issues and announcements.

If nothing of this helps, remember about good old uncle Google.

For a good start

From the astonishingly huge pile of tutorials about how to start doing something in Unreal I found one gem, which in my opinion is a masterpiece and with which you can easily jump into the world of the UE4. Just a little warning – there won’t be any talk about complete basics (how to start a new project, how to navigate through the editor etc.), so if you start from scratch watch it more carefully. Still, the tutorial itself is made so well you should learn the basics in progress. If you have any troubles with understanding terms, simply quickly check the official documentation.

I also recommend other videos of this author for future learning.

https://www.youtube.com/watch?list=PLSlkDq2rO1t7vAQxmhRfEdDTjygDf1D7H&v=PBkzwD31lKE

What’s next?

The another worth watching tutorial explains more advanced topics in terms of animation, blend spaces, nodes, input and game framework. It also shows a little bit of C++, just to give an idea how to combine it with Blueprints.

https://www.youtube.com/watch?v=1pmPb_TWG-8&list=PLZlv_N0_O1gb5sdygbSiEU7hb0eomNLdq

Learning the flow

At this point you should know how to navigate through the engine and how to make basic stuff like walking, shooting and jumping. You should also know how to use a basics of Blueprints, Inputs, Materials, Particles and Animation. Now, you might start to wondering how the engine works under the hood, or at least what is a lifecycle of the whole game, so you will be able to plan the structure of the game better. One of the shortest, yet the best, explanation of what is what and what is done in which order is the first chapter of the Shooter Tutorial.

The whole tutorial is worth checking out, but for now I’d rather focus on the content of the first chapter only and remember about it every time when you will doubt about which object will be better for a functionality you want to implement

In the future you might also want to learn about the Actor Lifecycle too.

Next topics – 2D games

The UE4 has Paper2D – it’s own module designed for 2D games. If you are interested in making 2D games the tutorial below is a must watch!

https://www.youtube.com/watch?list=PL4vARnfO6MOjqrK5YMI1EwYcZSR7ycD9h&v=AEkulrzz6Is

Multiplayer

The replication system (used for a multiplayer) in the Unreal Engine is a shining piece of software that gave us all of the fun with every part of Unreal Tournament and the 4th instance of it is better than ever. Multiplayer is very often a tough and quite complicated part of the game development but UE4 gives us polished tools which makes it much easier.

If you are not interested in making a multiplayer game you can skip this part.

Here’s a great tutorial which shows us the basics of networking and explains the replication idea very clearly:

https://www.youtube.com/watch?v=TbaOyvWfJE0&list=PLZlv_N0_O1gYwhBTjNLSFPRiBpwe5sTwc

In addition to this, the UE4 Network Compedium is also a must read if you want to know how the networking and replication works in the UE4.

After that there is also another great official tutorial about how to connect with other player in the real world situations (in this example – via Steam).

https://www.youtube.com/watch?list=PLM7GIu4UvZcUlxRuOnAsu_D07dsnG7rHN&v=abmzWUWxy1U

C++

Ok, now it’s time to learn how to deal with C++ in the UE4. The first thing that must be mentioned is that you should know the C++ itself before diving into the programming in the UE4. Learning C++ from the UE4 will be a rather painful process and will teach you bad habbits, because as I mentioned before – this is not a pure C++. For designers or artists, if they don’t know how to code, it’s fine to skip this part. It is completely possible to make a game in the UE4 that is made 100% in Blueprints. Ok, the warning has been delivered, now off to code!

The best way to learn something is to make something from scratch. Here we’ve got an official tutorial about how to make a First Person Shooter in C++.

Here’s another great lecture about C++ in UE4 in the official documentation which gives you a closer look on the basic structures, naming convention, garbage collection etc. Honestly, I’m not sure if it should be read before or after the FPS in C++ tutorial. I think it should be read during, or right after.

There is one thing that might come to your mind and for some reason is terribly cryptic in UE4 – how to print logs to console?

To get even deeper understanding about the engine structure and the code flow here’s a fantastic presentation from GDC.

Mobiles

As I mentioned before – mobiles can be challanging in the UE4. Android is an easier and faster platform to start with. The quick start and setup is described very well in the official documentation.

The iOS is quite more difficult to start with. To succesfully deploy on the device you will need a development account and a generated certificate and a provisioning profile. Thankfully, the UE4 has proper tools to do this even without Mac. To learn how to start working with iOS follow this official guide.

The game can be deployed on iOS from PC only when this is a Blueprint only project and you have compiled engine. If you have a code in yout project or you are building the engine from the source you will need a Mac for a compilation. Then, you can work on a Mac entirely or use it as a remote build machine. There is an entry on the forum that guides how to configure a remote builder for iOS. (from 4.10 you don’t need sources predownladed on Mac).

Moreover, there is a great lecture worth watching, which describes the best practices for mobiles:

https://www.youtube.com/watch?v=kpv1AOQB4r0&list=PLZlv_N0_O1gbVthdOKMgr3IVP6LZpST2f

Further learning

Well, that was a lot of tutorials and articles, but remember that the learning never ends! With those knowladge you should be able to make a game on your own, but where to look for more learning materials?

The one of the biggest sources of the UE4 tutorials is an official youtube channel. There are tons of materials prepared by the people who made the engine and knows the best flow for it.

It is also a good practice to be on time with the newest entries on the UE4 blog especially those tagged as learning materials. You will also find there information about new releases, Twitch streams (I recommend those streams, they are usually packed with useful knowledge) and live trainings.

Other good strategy for staying up to date with new tutorials or materials is following the UE4 facebook channel.

You can also try some articles from my blog.

Conclusion

I hope I was able to give you a good entry point to the UE4. At the beginning it might look overwhelming and still those are only basics. But after that learning every other thing should be much easier. Happy game making!