Can I learn UE4 and c++ the same way I learned gamemaker? Should I change from UE4?

I’ve been learning programming a bit during the last 8-10 months. I started with c++ but I felt it went a bit to slow so I tried gamemaker which was really fun. It was so strait forward. I could just follow a tutorial on basic movement and stuff and everything felt logical and understandable. Everything from coding to animation and artwork was easy to understand and apply on different things. Though after a while I felt that the engine was holding me down to a very basic level. I wanted to keep learning c++ and start making things in 3d. So I tried UE4. People on the forum said it would be good to dive in and it would not be a problem. Now there is actually a big problem. I fear I have some kind of HUGE knowledge gap beacuse trying to learn UE4 (wether blueprint or coding) is a mess. I don’t know where to start and when I search for basic beginner tutorials they just go through things I’m not interested in. (How to make a scene look good etc). I just want to dive in to coding and learn while doing it but that has been hard. I search for UE4 c++ begginer tutorial and get some video of some guy speaking about (for me) advanced c++ things I have yet to learn and thus cannot learn since no video is actually teaching you how to code in UE4 from the VERY ground up. Well I understand one should know at least some basic coding but IMO I do. I’ve learned some basic programming in c++ with functions. But when looking at UE4 coding exampels nothing looks like anythings I have seen before. There are signs and lines that are alien to my experience with c++.

Now what I want is to be able to write code in c++ and have things happen in UE4. Is this impossible without having read a 1000-pages book about c++ and having learned the c+±language as well as your native language? Should I keep on watching general c++ tutorials on youtube? Will that lead me to be able to code in UE4 or do I need something more? Should I give up on c++ and UE4 for now? When searching for if I c++ is a good beginner language everyone says different things. Please give me tips on where to go from here. I’ve been starting to loose my motivation for programming since I changed to try and learn c++. I relly don’t want to give up on becoming good at programming but I feel that I’ve hit an end to the fun. It’s starting to feel like doing homework when learning c++ xD

Well, as you’ve said, everyone has different opinions, but C++ is a very complex language with a lot of advanced language features. I would not, generally speaking, recommend it as a first programming language.

That being said, Unreal uses a fairly consistent subset of C++, so if you’ve got a basic understanding of programming concepts like variables, flow control, etc., then you may be able to learn it the same way. Don’t expect it to be easy. And you will get frustrated at times. That’s just the nature of the beast. If it were easy, everybody would already know it. :slight_smile:

Honestly, though, I’d push ahead with Blueprint. There are very few things it can’t do, and likely none that you’d need for a while. Then, when you’re comfortable with how UE4 works, then move to learning C++ (from generic C++ tutorials unless you can find a good beginner UE4 one). In reality, what you’re trying to do is learn more than one thing when you tackle UE4 C++ the way you did: You’re learning one of the oldest, largest, and most sophisticated game engines, the Unreal way of doing things, and C++ — one of the more complex programming languages in existence — all at once. If you didn’t get confused and frustrated at times, it would be amazing.

It’s quite a problem, super simple but messy Blueprints or a mature sophisticated language like C++ that take a lot of time to master, there’s no middle ground for a casual coder. Maybe a mixture of both? A simple scripting language would be preferable or even C# but for me personally I’ve not found a comfortable place to settle with UE4 because of this issue either. Cancelling my sub. soon. :frowning:

I know this is the age of YouTube and all, but learning a programming language by watching video tutorials seems so much less efficient than working through a book or written tutorials (with exercises!). You also seem to believe that learning should be fun, or rather that learning ought to provide some immediate gratification, it’s great when it works that way, but many times you just have to sit down, focus, and practice in order to master something non-trivial. I suggest you work your way through an entry level C++ book/course, while playing around with Blueprints as Jeff suggested.

My opinion is that you should do a basic level C++ course or books, i recomend “C++ programming for games, module 1” (the second module its for more advanced parts of c++ like templates, exceptions, and windows API, you wont need that soon.
Meanwhile, try to do some stuffs with blueprints to get how the engine architecture(actor, pawn, controller, etc) works. When you finish the basic C++ programming, you should try to move some of your blueprint tests that you have done to C++.

I used to make games in GameMaker years ago. Then I decided to start working on my own game engine in C++ and became good at 3D engines and C++ that way, and even did a masters thesis on a 3D game engine topic.

Now I use Unreal Engine 4. Game Maker helped me become a better programmer when I was young, but there’s still a ton of 3D math and other concepts that you need to familiarize yourself with.