I always want to learn C++, but i don’t know where to start, people say it is really hard to master that skills, it that true?
If you are completely new to programming, you can expect it to take many years before you are a proficient programmer. To master it? I don’t know if that’s possible, though I wouldn’t let that discourage you.
Puh, there are soooo many topics about this already made. You can sum them all up into: “There is no real answer to it.”
We could list you all possible ways that we could come up with and you chose the one that fits the most for you.
- You can just head into video/text tutorials about UE4 C++ and learn it trial and error.
- You can learn C++ without UE4 to first get the language stuff going and then go ahead and learn UE4 C++.
- You can first learn Blueprints to get an Idea of UE4 and maybe Objective Orientated Programming (because Blueprints ARE C++ after all)
and then take on of the upper ways.
There may be a lot of other ways too. You just need to think about what would work for you. How do you learn stuff normally? Trial and error? Plain reading tutorials?
And the question about “how long takes it” is the one that is even harder to answer. This completely depends on you. If you are good in learning and maybe already learned how
to use Blueprints, you can get the basics in a few weeks. Maybe even faster if you are good in learning and understanding. On the other hand, if programming is just not yours,
then it can really take months and years.
Mastering it is out of question since there will always be new things and at a specific point it’s not about the language but about solving the problem with it.
First of all, generally speaking, yes learning C++ is hard. But it’s the GOOD kind of hard! For me, one of the things I like most about programming is taking on new stuff that I’m not clever enough to do, then figuring out what I need to learn to be clever enough to beat it, then learning it, then beating it (at least, that’s the mindset that works for me and let’s me do the little bits of stuff I can do).
Secondly, more specifically, yes it does take years to really start getting the hang of programming (this is more obvious in hindsight after you’ve been doing it for a long time) but that doesn’t mean that you can’t have fun and do cool stuff right from the start (especially in an awesome game engine like UE4). It just means that the longer you do it the more powerful you will become (mwuhahahahaha).
So I’ve noticed (again, in hindsight) that my programming journey - specifically with C++ - has gone through a number of stages:
C++ basics :
- learning how to setup all the required software (i.e. UE4 and VS2015)
- learning how to make a basic empty class
- learning how to compile C++ code
- learning how to make and use variables (for storing information) in your class
- learning how to make and use methods (for coding behaviours) in your class
- learning how C++ likes to do things like conditional branching (i.e. if statements) and iterative processing (i.e. loops)
- learning how to make and use objects from classes and hook them up to each other (hierarchically) with things called pointers
UE4 basics :
- Figuring out that UE4 is basically just a bunch of pre-existing classes that some nice people have written for you already (thanks epic!)
- Figuring out that the classes you write basically piggy back on top of these built in classes either adding new code to their existing methods and or adding entire new methods of your own
- Learning what the key built in classes are in UE4, what their properties and methods are and how to hook them up together properly (in tutes to start with, then more and more in the API docs)
Beyond UE4 :
- Figuring out that sometimes you have to write entirely new classes of your own that are not based on any of the existing ones (which by now probably won’t be a problem)
- Finding out to your delight that there is a universe of C++ libraries out there that can do all sorts of weird and wonderful things and that some of them can be integrated into your UE4 project
- (Assuming you can figure out how to build them to a DLL)
Anyways, I’m sure there are a gazillion other people here on the forums who could offer much wiser guidance than me about getting started in C++ and UE4, this is just what’s worked for me (sort of), hope it helps
And if you’d like to see an example of the sort of thing that you can do when you know how to code in C++, check out my tute on dynamic textures in UE4 at http://www.showmethatagain.com.
Yes, it is true. C++ is one of the more complex languages and requires more time to learn it.
You don’t need to know much to work with unreal engine, though.