Do you need to learn C++ to actually create your own game. I wanted to start on a project and I didn’t know if I should learn programming before I started.
Depending on the type and scale of the game you want to make you may not need C++. For more opinions on the topic I suggest searching through old threads in the forum, this question has been discussed many times before.
If you dont know how to program yet, I would advise learning blueprints first, then trying to transfer those skills over to help with learning an actual programming language. But to answer your question, no, you do not need to know c++ to make something with Unreal thanks to the power of Blueprints.
Its always good to know even the basics of c++.
If you would not reinvent the wheel then you don’t need to learn OR create. In my opinion it’s way easier (and even more motivating) with “learning while doing” so you see some nice results while you make progress. The world never gave me an answer to my hundrets of “hello worlds” strings anyway (tried again and again over years) - C++ and UE4 blueprints are similar in many ways. If you would learn C++ from scratch I could recommend C++ Language - C++ Tutorials - but if you keep your code event based and avoid tick based if it’s not necessary and don’t create massive loops but use the engine for time critical stuff then you probably never need any C++ - especially because it seems nativized BPs get a huge speed improvement soon: Thanks for the BP->C++ Converter, it's awesome! - Feedback for Unreal Engine team - Unreal Engine Forums! (which is pretty cool - even if I’m a VIM fanboy ;)).
Start with UE4 immediately if you feel the urge to do so. Nothing stops you from learning code simultaneously if you want to.
Short Story:
Tried to learn C++ a year ago. Quit.
Started UE4 with BPs. Quit several times but always got drawn back.
Learning C++ again.
END
What I’m trying to say is, that I probably would have never considered learning any programming language, again, if it weren’t for UE4 and Blueprints
Blueprints are a great learning tool and shouldn’t be underestimated. They are less abstract and easier to understand for beginners.
You will start to think like a programmer and when you decide to learn c++ it will become alot easier.
As the others already said, you should try to do it simultaneously. Nothing pushes you more to learn something than developing your own game.
You may already saw that you don’t necessarily need to learn C++ for UE4, but it’s always good to know the basics of programming. If you are working with Blueprints you can apply a lot of your programming knowledge, e.g. Programming-Patterns, Performance-Threats and so on.
So my advice would be:
- Install UE4.
- Start working on a prototype or just build something really small.
- Watch online Unreal Tutorials.
- Buy a C++ Basics book.
- Read it when you have time.
- Try to see the similarities between C++ and Blueprint.
- Learn some advanced C++ stuff.
- Try to apply this knowledge to your Blueprints.
- Have Fun.
I hope this is going to help you.
Chris
Using blueprints is programming, just in a simpler form. Whether or not you need C++ depends entirely on what you will be doing, as there is still plenty that cannot be done in blueprints.
If I were you, I will just pick a very simple game and start creating it!.. You will learn a lot by consistently having goal in front - which is to complete the game as you envision. Then you will know whether you need C++ or not, lol.
Be aware that UE’s C++ is slightly different than C++ you may learn on your own, there are several conventions and ways to do stuff in UE that is different from what you learn in school.
I’m learning C++ now on several courses/academia and when I try reading some ShooterGame file I want to kill myself.
Blueprints are very powerful an user friendly. I’m sure there are things that can’t be done without C++, but if your project is not going to be a AAA masterpiece, then Blueprints will do their job perfectly. Just be ready to face obstacles, and overcome them - powerful and user friendly doesn’t mean easy. You’ll have a lot of questions regarding blueprint usage, and will have to find the answers.
I’ve been fabbing up my gameplay in Blueprint and I haven’t found there to be very many limitations. I’ve gotten a long way with them, chunk generation, inventory, building/construction systems. It’s a great tool. My plan is to move core gameplay logic to C++ if/when I get more resources and funding, but as a single dev and primarily an art guy Blueprint has been a godsend.
Another big question mark is whether you’re doing this with a team. If you’re going to be more than one person on the game logic, C++ is pretty much a requirement. Blueprints are binary assets, making version control painful.
As long as your are not working on the same Blueprint it’s totally fine. I like to keep my Blueprints small and clear, so it’s unlikely that 2 people edit the same Blueprint.
Well it’s not just conflict management, but also merging, reviewing commits, browsing a file’s history to see chat changed recently, etc. Binary assets make all these things harder, or downright impossible, especially if your project has a lot of history and engine versions.
I’m not saying Blueprints are evil or anything. In fact they can make it easier to work as a team - if you’ve got a lot of artists and you’re writing C++, you need to distribute a compiled binary for your game as well, while Blueprints uassets will already be compiled. That’s a win for Blueprint there. But for the programmers ? C++ source files will always be much easier to support on the long term, IMHO.