Download

Why is there so little C++ tutorials/content?

Seriously, like I first found out about UE4 a couple of month back, got really hooked on it, installed it, started watching tutorials on Unreal Channel (blueprints) everything seems so good until I was basically ready to start learning C++ side of UE4 since I consider myself programmer and there was so little content, basically like 18 videos if I’m not mistaken and a few videos on YouTube made by community that are really specific to particular thing and doesn’t really help with the big picture. Then I said to myself “Alright, everything is still new, I’ll look again later…” and even today, the situation hasn’t really changed at all…

I understand blueprints are this new, totally cool feature introduced and I understand the emphasis you put on them, but let’s not kid ourselves, every game will need a bit of programming anyway, plus I believe other programmers will agree with me that we simply would much rather type code than drag a bunch of nodes… But I understand the importance of blueprints, and I like them, they’re cool, just to a certain degree… Like they enable artists to easily integrate their workflow with us, but I really don’t understand the reason why there is such a lack of C++ content on the web…

If you were targeting big companies that already have rooms bunch of senior C++ programmers that could look at source code and find out everything then you wouldn’t really introduce the new pricing model… This cheap (GREAT btw) pricing models tells me you’re targeting the indie market as well, but we need to learn from someone/something… I know a good deal of C + I did my share of work using C++, but simply knowing the language isn’t going to make anyone totally understand UE4’s C++ because of all the macros, functions and stuff…

I’m really not whining, and if this message conveys me being angry, that’s simply not the case, i ADORE UE4 :), the community, everything, just hate the lack of contents for C++…
Like, I like UE4 much much more than Unity3d for example, yet I keep coming back to work in a Unity3D sideways to the UE4 simply because I get to type lines of codes there and create something that way…

So I have two questions:
1) If someone from UE4 can comment, is there some video series, tutorial series in the making? Like where you introduce us to bunch of classes that makes up UE4 (most important ones, anyway) then we get to build a few example of the taught content, rinse and repeat and we should start to get sense for programming in UE4?

2) To all the people: If you are using C++ and it’s a breeze even tho there is far few tutorials on UE4’s C++, can you please, please share me your secret?
I’d really like to get to that point, just tell me what to do… Assume I totally know C++, what’s next step? Like, I haven’t been using C++ for 30 years in office and haven’t looked into other’s people source code to try to reverse-engineer something, but more like genuinely have been studying C++, watched lot of tutorials on it, read books, wrote my deal of console application, and started learning win32 but soon after stopped when I saw the amount of stuff I need to go through to get simple window to show up… :smiley: What do I do next? Just please don’t tell me, get UE4 off GitHub and go through source code… :frowning:

TL;DR: Hire more people like Zak Perish, teach them UE4’s C++ side and get them to create tutorials! :slight_smile: Zak, you’re great! Liked your style of teaching since you were making videos for 3DBuzz and was pleasantly surprised to see you’re working at Epic.

Really all I can advise is to watch all the videos posted covering C++. There are many from the community and Epic.
Beyond that best resource I found was not studying the source code, but the shooter & strategy projects.

More advanced official C++ tutorials or project breakdowns would be well received though.

Most blueprint nodes are binding of C++ funtions and blueprints are classes same as C++ classes, so if you understand blueprint classes you should able to find yourself in C++ classes. See tutorial i have in signature, should open eyes for you a little bit

Hi eXtreme,

We definitely want to be able to provide lots of great C++ info and examples, to build on the videos and tutorials other posters have mentioned. We also have the Programming Guide, and although that is currently mostly reference material, it does cover things like the macro keywords, and some code snippets for working with Actors. One thing we’re working on is putting together practical examples like you mentioned, and a lot of those will live in our Gameplay documentation, since they are things you can do with C++, Blueprints, or a combination of the two.

If you’ve followed along with the FPS tutorial on the wiki, and the 3rd person video tutorial, what might be a good next step is taking a look at one of the other C++ templates. We’re working on creating more of a guide to these, so it will be easier to follow along, instead of feeling like you need to pick apart the whole thing yourself and not knowing where to start. More information on the framework (those key gameplay classes you mention) is definitely in the works. :slight_smile:

What is a great help to us is knowing what types of things you are looking to do, because we know there is a lot of ground to cover. What did you find most useful in the existing C++ examples? What are those areas where if we pointed out the right building blocks to use, you’d be able to take off and start making awesome game features? :slight_smile: Really appreciate all the feedback, and just wanted you to know that we’re always working to improve the C++ help available.

@eXtreme : Feel your pain. Honestly what’s helped me aside from reading and watching whatever I can find out there, was getting so stuck that I hired a few hours of outside help. Got some code and just by seeing how they put it together it just made things click. No so much the C++ syntax, but, like seeing a function I wasn’t even aware of before plus seeing it being used. Money is very tight for me, but, a few hours of paid consulting probably saved me a month of personal time.

Course that’s probably not for everyone, nor even necessary, but for my secret…well that was the exact thing that pushed me over the hill into happy coding mode. Few months of trying to convert blueprints to code probably is what lead up to it.

@Lauren Ridge - Thanks for keeping tabs on docs and updates, love your videos despite not being a video tutorial kinda person. In some retrospect in comparison to my Unity days, small bits of example code in the documentation did wonders for me there. Think it might also help here. Imagine like the LineTraceMulti() function. The docs show the source (which is awesome) and the parameters, but sometimes the usage can get confusing. Like for example FCollisionQueryParams. Spent probably a month trying to figure out how to build them, until one day I see something on answerhub where someone used it without setting up the params. Like, they just passed over FCollisionQueryParams() and that was it. Had to bump my head on the desk a bit after that. Sure, I could have been a bit less dense in figuring that, but during that time there was wasted effort and frustration. (still to this day confused about trace channels in code…)

Now, that’s just for functions, but each class should have something similar. Coming up on my to-do list is savegame management. So, at this very moment I do a search for “savegame” and I get ISaveGameSystem, some stuff under Kismet UGamePlayStatistics, USaveGame, etc. So, there’s little direction on where to start. Which leaves me to search community input, and perhaps when I do that I’ll find just what I need, but community input can be unreliable. It can be dated, assume knowledge, or in some cases simply not addressed as I’ve found in the past searching for some trace usage info.

But anyway, apologize for the tl;dr. Know you all are working really hard on this engine, and it really is spectacular. Just sometimes wish I had a timemachine so that I could pull the next release like naow!

First off, I’m really happy how this thread turned out to be… No harsh words, no flame wars, just some nice conversation, seems like UE4 community is mature enought! :slight_smile:

DISCLAMER: This post is really really long, so if you feel productive, skip it… Read only the part that seems interesting to you… Lauren Ridge, thank you for your comment… If you’re too busy with producing next high-end feature, better don’t waste your time on this big post, but then again I’m grateful for your feedback! :slight_smile:

Veovis Muad’dib:
I’m aware of Lauren’s series intro to programming on YouTube, I even mentioned it in my post (just was mistaken, though there were 18 videos instead of 19). As far as other links are concerned, they are useful and I must admin I haven’t really browse wiki that much mostly because first few times that I did I only saw snippets and some really useful but really specific stuff… Thank you for them!

Triplelexx:
Well thanks for advices… Once I’m finished with something personal in a few days I’ll really go through playlist once again, carefuly, and with what Shadowriver said, will try to make it a bit easier transition because I’ll study BPs first…

Lauren Ridge:
First off, after reading my post once again I’m afraid it might convey a mistaken message that I didn’t enjoy your playlist at all and that I only like Zak’s tutorials.
First, let me say that’s really not the case, I did enjoy your playlist but there are defiantly some improvements, at least in my eyes.

I mentioned Zak more-so because of the way he explains stuff in his videos… Like, if you take a close look, when BPs are concerned we have a few playlists. One, that goes really into the beginning, explaining what is what, most popular nodes, etc, and then and only then we go further to combine them into more complex pieces…

Your playlist was great, but you took a kinda “top down approach” (nothing wrong with it, just, it’s awesome when it really gets to the bottom of things) where you started with one goal in mind (to create that mini 3rd game) and you didn’t really explain all the inner workings and details for many components/variables you created during it. You did explain stuff, but like - I know now what’s TSubObjectPtr<USphereComponent> supposed to work, but like are there other TSubXXXXX stuff, or like beside USphere what is there alongside…
Granted, with only 19 videos you did the best you could and I understand that. What I am saying however, wouldn’t it be great if we get, at some point, like 40 min video (or a detailed written explanation) just on UFUNCTIONs/Components/Macros, like classroom style, and then later, once the ground is well covered with all the inner workings then we get like few more tutorials where we can watch some of you put what we learn in practice to create a mini projects…

IMPORTANT :slight_smile:
To put it more into a perspective, imagine we have 2 people, let’s name them Bob and Joe. Bob really wants to learn BPs while Joe really wants to learn C++…

Bob’s progression:

  1. Bob goes to your YouTube channel, opens the playlist “Getting Started: Introduction to Blueprints”. After watching it, he says “that’s awesome!” and then he continue to learn by watching 59+ official videos on BPs that are bit-sized chunks + when he types “UE4 tutorials” on YouTube alone, 95% of the videos are going to be about BPs… Bob is feeling great, after few days/weeks depending on his skills, he can easily think of something and build it using BPs.

Joe’s progression:

  1. Joe goes to your YouTube channel, opens the playlist “Getting Started: Introduction to UE4 Programming”. Great!, he thinks, that playlist even has 10 more videos than Bob’s first playlist. :slight_smile: After watching it, he also says “this stuff is awesome!” and then he tries to find more videos on offical youtube channel, but to his dissapointment there aren’t any more there… Alright, he’s a bright kid… :smiley: He types “UE4 C++ tutorials” on YouTube, have his hopes up and then he finds the sad reality - only a handful of videos are available, and almost none cares to explain basics, most of them just jump to the specific thing… He then goes to forums, reads about starter kits and download them via marketplace but soon after finds out IT’S HARD to learn from it… Like it would be HARD to learn from BPs starter kit haven’t he already been introduced to the BPs more gently via more videos…

Just to ilustrate difference how a C++ guy is having a much harder time…

But again, I see awesome demos popping up almost daily on forums, so I’m sure it works for a lot of guys, just saying I’m 100% I’m not the only one feeling this way…

Lauren Ridge, again, like I said I haven’t really been visiting wiki, my bad… I’ll try to take the steps recommended here in the following weeks and I hope I will be able to overcome this and get to love UE4’s C++.

Thanks for all the comments!

I think the main difference is that just about anyone can make a blueprint tutorial but that is not the case for C++.

The other thing is that most of the people at Epic who can write a C++ tutorial are busy enhancing the engine or working on in-house projects.

All in all though, more tutorials is always nice. Some day I may be in the same boat as you.

For programming you should better look for written tutorials /documentation. There is plenty. Check out the official documentation and the wiki. Good luck! :wink: