Help Me To Understand If UE4 Is For Me or Not

Hi guys. I have been learning C# for 2 years and I have no problem with that. Also I am learning Unity 3D for a while(maybe 3-4 months) and it seems pretty easy to understand and writing code. However, I realized that I need to learn a lower level language such as C++ because I do not understand things happening in the lower level. I even do not know what pointer is. Since I can write my codes as C++ in UE4 I started to think to try UE4. Do not get me wrong, my first aim is game development but I cannot decide if I should go with Unity or UE4. I tried UE4 a bit but when I try to understand example project’s code, I simply lost… It is too different from Unity’s C#. It is even too different from pure C++. (By the way I have been trying UE4 for 2 weeks)

I want try UE4 because:
-UE4 uses C++ and since I want to learn it, using UE4 might be better. I want to learn C++ because I feel that I will miss many important things in game programming if I do not learn C++.
-UE4 seems out of the box unlike Unity 3D… In Unity I feel that I have to buy many things from asset store and these things already exist in UE4 for free.
-UE4 gives source code. It is not important for me since I cannot understand it for now but what will happen 2-3 years later? When I learn programming in C++, I can read the source code and this can give me flexibility.
-Unity 3D looks really bad and even to make graphics a little better I have to spend too much money. Even it has no material editor… Also Engine updates can break these assets since they are not published officially. I think Unity Team is not willing to integrate these beautiful assets to engine as default since they make more money taking %30 percentage of money…

Now these are UE4’s pros but what about cons for me:
-I am afraid of lost in UE4 because when I check UE4 documentation it does not seem as completed as Unity’s documentation.(Actually it is even not close…)
-I cannot find good C++ tutorials for UE4.
Actually these to are only two elements which stops me to go with UE4. There is no enough tutorial and incredibly bad documentation so how can I learn coding in UE4?

What do you advice me guys? Do you think UE4 is too heavy for me? Maybe Unity is way to go for now. I cannot decide and that is why I am asking this question to you. I gave some information about me and I told my experience in both engines. By the way I know that Blueprint is great and has many functionalities but as I said one of the important factor why I want to go with UE4 is to learn C++.

Thanks for your answers and sorry for bad english.

King Regars.

Look, none of us can tell you which way you should go, this is something you have to decide for yourself. You have already worked in Unity and C#, so you already have an idea of capabilities and limitations of. I’d suggest that you learn the basics of C++/UE4, there are many basic tutorials for C++. There is a Battery Collector game Tutorial in Unreal’s Youtube channel, take a look at that and try following it. At the end, it boils down to whats your goal.

UE4 has so many macros that it doesn’t “feel” like normal C++, for example it handles much of the pain of memory-management for you, and it doesn’t have the STL (Standard Template Library) which is the regular provider of things such as strings, vectors, and other basics- instead having its own API.

This is great from a ‘getting things done’ perspective as it does make the developer more productive and helps integration with the rest of UE4, but it’s not helpful for learning C++ since you’re unlikely to be using much of the language unless you end up doing things like using external libraries.

What I personally would recommend is to separate the two.

Spend a while looking at UE4 with Blueprints as ven if you’re using C++ you’ll almost certainly use Blueprints somewhere in your project, and it’ll get you used to the other aspects of the engine such as the graphics features.
Bring the two together and learn how UE4 uses C++. There’s a Unreal Engine- Learn C++ and Make Games course on UDemy which is very good for this.
Learn C++ as a language rather than as a UE4 add-on. I recommend the “C++ Primer” by Lippeman and Moo, it’s what got me started and despite looking I’ve not seen a better “C++ for programmers” book. While the Udemy course is good it’ll only teach you the UE4 ‘dialect’ of C++, and this will take you deeper. You’re not likely to need this knowledge for writing the controls for your FPS game, but you will if you start to push things furthere.

Salutations Aquelias,

I would second Molt’s suggestion of the Unreal C++ course on Udemy. It carries you all the way from “I don’t know any C++ at all” to “I understand how the C++ API works and even how to dig into the source a bit”. Step by step so that you can take it at your own pace.

Start with a Blueprint project and when you run into a feature you want for your game add a C++ class for that so you can inch your way into it. Do Blueprints first.

Thank you for advices. I got this: C++ Primer Plus (6th Edition) (Developer’s Library) 6th Edition
by Stephen Prata. I hope this is as good as your advice.