Blueprints vs C++ - Which One Should You Learn in 2021?
Vložit
- čas přidán 11. 09. 2024
- Blueprints or C++? Or, better said, visual scripting or coding? Which one should you use? In this video, we will give that an answer.
This question is - perhaps - one of the most asked questions by beginners. Blueprints are a great system that can achieve a lot, and has been evolving a lot over the past few years, but can it really compete with C++? The "Blueprints vs C++" debate is not at all straightforward and there are many factors to consider, such as job opportunities. So, today, we'll go over what you should think about before choosing C++ or blueprints.
Support Nitrogen on Patreon: / nitrogendev
Sources:
Video game programmer: en.wikipedia.o...
Video game design: en.wikipedia.o...
Credits:
Getting started with Bolt in Unity! (Tutorial): • Getting started with B...
Introducing Bolt: Unity's new visual scripting tool | Unite Now 2020: • Introducing Bolt: Unit...
Intro to VisualScript in Godot 3.1: Beginner Programming Tutorial: • Intro to VisualScript ...
LITTLE NIGHTMARES II - Story Trailer | Gamescom 2020: • LITTLE NIGHTMARES II -...
Snake Pass - PlayStation Experience Trailer | PS4: • Snake Pass - PlayStati...
The Story of Snake Pass - Dev Diary | Sumo Digital: • The Story of Snake Pas...
Blueprints vs C++ - Which one YOU should LEARN and WHY in 2019 (old video): • Blueprints vs C++ - Wh...
Contribute with translated subtitles: amara.org/en/v...
My teacher told me I can't get a proper job where I live without knowing C++, and that my only option is low paying internet jobs. I've bee going crazy stressing out about it lol, you're a life saver!
I didn't even search for this you just popped up. Subscribed, thanks for the quality content. Love the mix of design and technique in your channel.
Although I am not speaking from experience, I am almost certain most studios don't hire exclusively for knowing C++, especially if you consider that one can learn C++ pretty quickly as long as their fundamentals are well-built. So, as long as you have your general knowledge checked, there shouldn't be any problem getting a job without knowing C++.
Also, I think it's important to let you know that right now I am mostly focusing on design content, and only making technical tutorials if something truly interesting pops up.
@@NitrogenDev Most game design videos are made by gamers I think. Knowing that you're going on UE4 and doing the dirty work as well makes your ideas about design have more weight. And no matter what I just found a small archive of very relevant tutorials :)
Thanks for the answer on this & the C# question, I really appreciate it. Gonna start learning general C++ and taking it easy.
@@markwaterson6045 Just make sure to go at your own pace. Good luck on your learning journey!
Ughh I've never seen a game studio hire someone for "blueprinting" experience. Your teacher is right for the most part.
@@NitrogenDev which will be better c# or c++ , which one do you prefer ?
Any hobbyist watching this should start with blueprints, they are quite powerful. Move to C++ only when you're not the target audience for this video.
I started with coding and was extremely confused by the blueprints, you can do the same with with way less code.
True
@@MaksKCS same, I haven't dug into blueprints yet but it looks pretty confusing to me
@@MaksKCS lol i took on unreal with blueprints and got confused and i left there after 2 years i took on unity and c# so as curiosity i went back and saw some blueprint tutorial and it was so crystal clear so i gonna pick c++ for sure
@@BlazeZ__
I read your comments twice and still couldn't figure it out
Being completely new to game development and without any software background, blueprints really help out a lot.
Do plan on learning C++ soon though.
That is the right step. As a tip, I recommend starting with plain C++. Diving into Unreal's macro'ed C++ can look scary, so getting used it first is a good idea.
@@NitrogenDev Thanks for the tip. 😃
@@NitrogenDev Do you think knowing C# intermediately will help me learn C++? Or should I wait a bit more if just started getting into UE4 recently?
I'm comfortable with algorithms but I never really used any syntax other than C# and a tiny bit of python..
@@markwaterson6045 Previous experience with other languages will certainly help you as long as learnt how to work with object-oriented programming concepts with them. As well, know algorithms will definitely come in handy.
@@markwaterson6045 once you know one language well it's easier to learn more. You learn to see beyond syntax, and will recognize a lot of concepts. I've only looked at C# but it's looks similar to C++ in syntax.
First of all, Blueprints and C++ need to be used together. Not only C++ and not only Blueprints. Usually developer develop the main feature in C++ and create blueprints that the game designers can use to play around and change settings. This Is the right workflow.
There is no "right" workflow. Right is what works best for the developer and the goals of the project. Not every project needs c++, especially indie-games can and have been made with blueprints only.
@@GordonSeal He is actually correct, the way unreal is designed so the correct workflow is c++ for the heavy lifting and blueprints for low priority systems, tweaks, materials and animation blueprints, 😂 blueprints run much slower and require more systems resources then cpp code, anyone who cares about performance does it the right way, you suffer from the delusion of thinking your opinions are facts, like most idiots. Do better.
That's wrong. I'm fed up with this "use both" idea. I'm finding blueprints to be nothing but a right pain. They're more difficult to write and understand and the debugger doesn't work (the break points don't break for example). At the moment I'm trying to find out how to do practically everything in C++. The only one left is animation blueprints. Once I crack that in C++ bye bye nodes and wires. I currently have one that is causing me real problems - can't get it to work.
@@mrcxx8694 i get the what you are saying. But as a game designer why most likely not that deep into programming. If you do a project by yourself do it how you like. If not thing about that.
@@wiiion1256 Er, well you don't need to be deep into C++ to be able to write a game in this engine. I'm reasonably "expert" and rarely have my skills tested.
What's not being talked about often enough: you can make a game in unreal engine without knowing c++ (if you're a stubborn masochist) but you can't make a game without knowing how to program. People often think (c++ is programming, while BPs are something different". Blueprints is programming, it's just that the language is funny looking. You still need to be aware of overarching structure of the game and how different systems interact with each other. C++ isn't programming, it's just a language. You don't need c++ to do programming, you can even program in scratch. Hell, you can even program on paper. But there's no compiler for programs written on paper.
Exactly, that's why this dude is plain wrong when he's saying that blueprint is easy, it's sure more intuitive than C++
But hell, it's visual C++ anyway!
@@bitffald If BluePrints is a visual way of getting someone to become familiar with C++ syntax, then I don't think there should be any problem with using Blueprint when you're literally just starting out in a modern game engine like UE for the first time and just want to make a front end menu and a walking simulator ala Source SDK 2013.
My first computer was a ZX spectrum and BASIC was painfully slow, so I used to write chunks of code in assembly language on paper, look up the machine code for each assembly language instruction, manually poke it into memory & run. If it worked then save to tape and move onto the next bit of code, if not then back to my hand written assembly language. After 2 weeks coding I'd managed to create a nice game menu. After this milestone I went back to 'Chuckie Egg' and that was the end of my attempt to code a Spectrum game in machine code. Just your comment 'no compilers for programs written on paper' made me think of this.
Not anymore.
@@F1ashingblade How your comment takes me back! I wrote a 2 player split screen airplane game (kind of like the airplanes in Atari Combat), and wrote the whole thing (a few K in size) in a notebook before manually looking up and writing down the hex, then poking them all in. It took ages and 2 attempts but it worked. It's one of my greatest achievements but not something many people can really appreciate.
The last-minute of this video was some of the best advice I've heard for up-and-coming game devs. Learning blueprints first to understand* how the code works. Then, when it comes to writing the actual syntax of the code, you understand it more easily rather than from nothing. This kind of method/mindset would have made life so much easier when I was first beginning Unreal. Good stuff all around :D
100% agree with both systems working in parallel - I slap together a rough prototype that feels good using Blueprints, my lead developer takes that and re-writes it in C++ (whilst simultaneously removing my terrible programming habits) and then exposes variables/structs back to me in Blueprint, essentially creating a library of functions and classes that I can use to design the game and its world.
A wise man once said;
Chillin' out - take it slow
Then you rock out the show
You get the best of both worlds,
Mix it all together and you know that it's the best of both worlds.
That must be one of the worse parts about blueprints: it's so easy to get into bad habits with them because they're so easy and comfortable to use. But that workflow seems nice as you can focus on achieving something, while someone else focuses on optimizing it.
Definitely agree. C++ handles everything more efficiently, so you make your base classes and functionality there, but then expose things that will require fine tuning to BP for faster and simpler iterating and testing. It’s utilizing what’s strong about each one in the proper place that makes Unreal’s toolset really shine.
i dont have any exp with unreal but this makes alot of sense to me as a programmer.
As a beginner in game dev, I just went with what I was comfortable with, before starting with UE4, I didn’t have any prior programming experience but still loved UE because of what it’s capable of and Unity just didn’t click for me.
And in terms of programming, I liked C++ way more than C#, while I do use both languages now, in the beginning I preferred C++ way more than C#.
So I think in the end, just go with what you’re comfortable with and like best, don’t let the people saying “UE and C++ isn’t for beginners” get to you, if you want use UE and C++, use it.
Great take on this matter.
I've been lookin for C++ & Unreal course
C# is awesome easy language.
Straight to the point, nothing off-topic, time-saving and ofc a life saver. Love the content. Subscribed.
Thank you for this
I'm glad to hear you enjoyed this video!
I also feel it's mandatory to let you know that I no longer make Unreal content. Instead, I learnt that I like game design, writing essays, and being creative, so I decided to fully switch to video essays about game design. I hope that's, too, something your interested in!
Use both. I found that when I was using Blueprints I was thinking about code. It actually helped me understand C++ better and reinforced my coding knowledge.
For me as artist, I love Blueprint. I even make my first little game, all in blueprints. I try to learn C++, but that thing is on another level. If it was easy like C#, I would still keep at it. That's why I plan to hire a C++ programmer in the future, to help me optimise my project and create plugins if needed.
Indeed, C++ can be intimidating, which is one of the reasons I hoped Epic would implement something similar to C# in terms of complexity in Unreal 5, but that seems unlikely, seeing as they are doing their own scripting language.
@@NitrogenDev Wait, will they also include C++ in UE5 or just their own scripting language? (btw what's the language going to be called?)
@@hamud7708 From what I know it is called Verse, and I'm pretty sure C++ will still be an option in UE5, as well as blueprints.
@@NitrogenDev is there a way to get UE5 beta or somth?))) Good news i hope) I basically know C# and way better know PHP, but when I opened scripts in C++ 2 days ago.... Anything but not C++ plz!
I don't think C++ is much more complicated than C#. If you are fine with C#, you should be fine with C++. Sure C++ is a deep rabid hole, but the reality is you don't have to dive that deep into it to use it with Unreal Engine. It's fairly high level actually because of all the libraries Unreal offers you, you don't need to do any memory management, etc. Also, pointers are a extremely simple concept. Don't get intimidated by them. Just take some time to understand them and you will start miss them in other high level languages, which don't offer pointers.
Thanks for the video!
I notice that for Unreal, lots of the developers use blueprints, even Epic games themselves in their demos for even Fortnite features.
This is opposite in Unity, at least right now. Maybe it’s because Bolt JUST started being a main part of Unity, and many got used to C#.
I asked if Bolt was good in Unity and many said they were faster in C# but in Unreal, it seems more equal and even more use the blueprints. Maybe because more all around support?
Great video though!
Blueprint is a integral part of Unreal. It's actually almost impossible to make a game without touching it. At the very least you will have your anim graph and material graphs.
And thats why you see it used in every project.
@m o t i The idea was to make the engine more accessible to designers. Coders can create building blocks in C++ for designers to use in Blueprint. Especially map designers profit a lot from being able to quickly and easily script some logic.
The other big plus is, that Blueprint does not require a long compilation and restart phase. You make your changes and you can immediately see the result. That makes it great for prototyping.
Also as a coder i can prepare some blueprints for designers, and they can modify them to their needs. It's really a team tool.
Hey! I hope you liked this video and found it helpful if you're planning to start with Unreal (or any engine, really) and wavering between the Blueprints system and C++!
Although this isn't quite the type of video I have been making lately, I am trying to see how you react to Unreal Engine content compared to that, so there will be (just) a few more of Unreal-related videos. But if you're also interested in game design, I recommend hanging around for future design videos like this one: czcams.com/video/BkFBPaDG-Uk/video.html
Blueprints are good if you have zero experience. Because you start to understand logic and stuff. But once you get the basics it is better to go learn C/C++ syntax so you can start to understand what is going on on the inside, once you mix the logic knowledge and the how to write the code, you will have more control on what to do.
And once you are good, coding will be faster than BP.
And every time a new feature comes will be easy to understand because you know coding, so you can get what is going on. And use it in the best way possible for you.
Takes time but is worth.
Yeah, for me who just want to create in my spare time and maaaybe, someday, make a finished game I wont even bother with C++ for now.
@@mrclint7377 Fair enough
For sure. The nice part about learning and understanding C++ is that you can even expand on the engine however you like in case you need something it doesn't offer out of the box. Also, C++ is particularly useful for creating, saving, and loading data and files generated at runtime.
takes too much time and its a lot of commitment when its not really necessary unless you are specialized on programming.
You can not use Unreal without using Blueprints and that is why Unreal is unusable for me as a C++ developer. C++ in Unreal is used to create blueprints not avoid them, Unreal engine basically mandates the use of blueprints for scripting.
Wow, I learned how to use Blender a few years ago (not for 3d animation, but for video editing), and I used those nodes a LOT. There was a lot to learn and I had a lot of issues, but it was more that Blender's UI seemed unfriendly to me, and also my laptop at the time could not handle it at all. Learning what the nodes do and how to set them up, was fun and rather self-explanatory.
I had no idea that anyone anywhere would consider doing that stuff as "coding", nor would they compare it to learning an actual programming language.
And now the last few days I've been learning C#, which is actually a lot easier than I expected, but it's still a whole different beast than just playing around with nodes.
Nodes can be very intimidating - they were for me when I started out. However, I've noticed that people quickly get used to it most of the time, particularly after getting the hang of the UI.
At any rate, good luck learning C#!
I think learning the core programming language of an engine is the best way to adapt it to the game you wanna make.
Developpers wanna maybe make some AAA type games, others, more indie, some would love to make fighting game or e-sport games.
Each styles has their own way to work and, most importantly being optimized.
For a AAA game, graphics are generally more important than performance as they consider gamers have the gears to make it work at its best. Generally they mix both C++ and blueprint to find a balance.
Indies more go on some conceptual games, or if they are alone to code prefer 2D assets. They can use only blueprint for this.
For fighting games and e-sport games, it's different. The games have to run really really smooth. So here C++ is strictly used to code it, blueprint can be used for animations and just for that. E-sport is not story telling, it's pure gameplay, so the game has to be really reactive
That was a nice one! I think the subject is vast and this video may help people to figure out some stuff and make a decision.
Good job, well done! 👍
This certainly is a large subject that can be viewed from many perspectives. What I have talked about in this video is one of the many, and I'm looking forward to seeing what other people think about it.
You have improved a lot 😉
I use Unity instead of Unreal Engine and instead of Blueprints, we have something called "Visual Scripting" and I learned how to make games with Visual Scripting but I quickly realized that games made with Visual Scripting run soooooo much worse. Each Visual Scripting unit is 190 times slower than C#. That means if you make a game that runs in 60 FPS made in C#, it will run at 0.3 FPS, or 3 seconds per frame if made in Visual Scripting. So I recommend using only C# or C++
I just found your channel and it is sooo helpful. Thank you very much.
Really happy to hear!
C++ and Blueprints are like Assembler and C++:
Assembler is faster, but you can't see your assets live in action. Nobody want to compile his game hundreds of times for some little changes in the positioning of an asset ;-)
Blueprints:
- great to learn UE4 and his libraries
- follow the data/asset approach (You see what you... do ;-) )
C++:
- open the profiler and you find the bottlenecks of your Blueprints and now you implement it with C++
- create new low level Blueprints
Just imagine the insanity of having to wait for every little change haha. Anyhow, that would be the gist of C++ vs blueprints in a highly-stripped down version.
Who are developing games in assembler nowadays?
If it is, language will not be the future. But, Nod.
with blueprints you don't have to rebuild the whole project each time you're testing something.. with C++ you get more performance but will have to wait the project to compiile each time
LOL... XD Damn This Compromise...
The performance benefits with c++ is negligible, unless you build competitive multiplayer or high-level mathematics.
I've been coding in UE4 since it's launch and code for over 15 years and my advise is to use BP for most gameplay features and use c++ for creating base classes, or plugins for your designers to expand upon.
If one is worried about the performance, use a profiler to see where the throttling is coming from.
There are some tips to coding in UE4 that will greatly improve performance in BP as well as c++.
Fifteen years - that's bonkers. I fully agree with using the profiler to spot bottlenecks and hiccups, such a useful tool in situations like these.
I was wondering if you have got any specific tips on optimizing blueprints.
@@NitrogenDev hey Nitro, how long have you been coding in general and in UE4?
@@NitrogenDev It's simple yet effective things like putting most of your persistent code on either the player or game mode classes, since those are nearly ever present during gameplay
Also, as you may know, AnimBlueprints and Widgets run constantly looking for changes/updates, so it's best to cast to the player from those classes.
@@timsonss I started coding and using Unreal at about the same time, around three years and four months ago - to be precise.
@@Kinos141 I see. I have never really thought of it that way, but - thinking about it now - it makes a lot of sense to do that.
I have some experience with C++ and I find it easier to write code in C++ then use blueprints. But no need for recompilations is great advantage
Compilation time is certainly an important factor. I've heard a ton of Unity users tell me that the compilation time of C++ is a huge reason they're not using Unreal, so I can see this translating to blueprint users too.
Unreal's C++ is not standard C++. The people who are using C++ with Unreal are generally doing so to modify the actual Engine code not scripting in it. This is a downside of Unreal but it is not practical or even possible to avoid Blueprints as the Engine is directly linked to it.
I knew that too. Its best if using the engine to look at both. Because it's runs calls from the source scripted engine. I'm not sure if the source can be edited by legal? I don't think so. Maybe not sure. Somewhere in their documentation.
Love your vids dude, you deserve millions of subs with such good content
I appreciate that!
If you don't know BP's or C++ start with BP's to learn UE4 and work on the C++ in the background. If you try and learn C++ the same time you try and learn UE4 you will have a tough time.
That's exactly what I've been through lately. I'm familiar with other languages like Python, but not C++ and I still need to learn UE. So I've just to get started first with BP
@@TheZenytram definitely hahahaha
Don’t learn C++ for UE, learn C++ as it’s own thing. After that learn how to use C++ with UE
Sounds like it could be useful to start with blueprint for almost every new feature and only implement it in C++ when necessary.
I plan on visual scripting because it’s similar to rec room circuits in which I’m familiar with
The Correct way is C++ and blueprints in tandem. A good developer will code the heavy systems incpp and do the tweaks and lighter stuff in blueprints i.e. UI etc, animation blueprints are a hybrid as you can code the interface to your character in cpp to improve performance, but the state machines are done inside the blueprints, C++ isn't difficult it just requires a time commitment to learn, and you're going to get addicted to it if you put in the time. Knowing how to use blueprints is essential to Unreal engine and the time you spend developing with them isn't wasted, especially if your an individual dev working without a team. Just keep on learning, never quit never quitting.
For an example of how not to use the blueprint system, Dead by daylight is a GREAT example. You can tell the games issues are rooted in the fact a lot of the bugs are hard coded into the game due to this blueprint system and it's not supposed to be able to handle what the game has become and all the content it now holds and it shows. especially on console
I vividly remember playing that game on launch and finding lots of bugs, both small and game breaking. It's mind-boggling that they keep adding content in spite of their bugs.
@@NitrogenDev it still has tons of bugs and somehow got MANY licenses for it too. Recently they had added Resident Evil characters for people to play as and it made the game Almost unplayable for console players, but you can tell it all wasn't designed to hold all the content it does now
..🔥🔥😊a simple and "STRAIGHT" to the point explanation
......nothing verbose
........i love, love, love, love this video
...........thanks for taking the time to make it🔥🔥✨🔥🔥
I am a solo game developer, I have school and time really runs dry, I have an at least decen experience with Blueprints, while I tried to learn C++, and the best thing I managed to get to, was a printing program with the Sleep indicator, Now I will have 2 weeks of spare time bacause of holidays, and I will try to learn C++ a little more, though I will have to work on the aspects I already know, such as Blueprints, modeling, texturing (HELL), AI, animation and such
I understand, from my own experience, how daunting it can feel to tackle multiple endeavours at once, especially when there also is one as complex as learning C++. It won't be easy, but as long as you focus and organise yourself, you have a good chance at progressing in everything.
So the only real drawback to blueprints is a slight speed difference? And even then it can he improved. Clearly blueprints is better for beginners .
well... i know the basics of c++ that i learned from university course, but still i feel like i cant do a thingto get started for making games...i cant even make a basic UI... all i learned was data analysing stuff... there r not even huge numbers of tutorials for c++
how did u learn c++ for game purpose?
awesome video tho
In my case, it was a matter of trial and error until I partly understood how C++ works in Unreal. It really is all about getting the initial barrier, and then it will start to make more and more sense. Also, hot take: I don't recommend making UI in C++, it's just much easier to use blueprints and widgets for that.
It's a tradeoff.
Blueprint if you want spaghetti and poorer performance (Blueprints are run in a virtual machine of sorts). Also if you want real pain in different parts of the game communicating with each other - you wouldn't believe how fiddly it is to call a function in another Blueprint, or worse still, fire an Event.
C++ if you want the performance, but you have to know the language (especially Epic's weird implementation of it) and spend time writing and debugging code. It's much easier to share data between different entities and call functions etc.
Some complex tasks and features also aren't exposed in Blueprint and you have to use C++, but it's unlikely that an amateur or hobbyist would need those.
Can you do more c++ tuturials pls😁😁
I have switched from making Unreal tutorials to making game design video essays, so I don't there will be many (or any at all) C++ tutorials from now on.
@@NitrogenDev oh ok :(
Very informational video. For me it helped to understand the differences between the two languages. I am 23 and working in webdev rn but would like to move to doing something with games preferably. Never having used a graphical language, I was just confused what it brings to the table. Also really like you compared the salary's. Great video overall
Exactly what I was looking for. Thanks!
Thanks a lot! solving my questions now
Happy to help!
I think the better question is, "Which should you learn FIRST?" Both are necessary to make AAA quality games - which is what most indy game devs are looking to replicate with the unreal tool-set.
For sure. In addition to being overall more performant, C++ enables you to create a lot of systems you that you couldn't through blueprints, both elements with AAA games need.
@@NitrogenDev yup.
Too many people want to make games "with blueprints"....like that's not how it works haha you make SYSTEMS in c++, then modify and tie those systems to objects, the game world, other systems, etc with blueprints.
Thank you for this. I'm a year late to it, but man, this is helpful, no matter how obvious it seems now.
I personally believe it all comes down to preference. I prefer programming in a code editor, while creating shaders with blueprints. I have worked in probably 4 game engines and I by far prefer programming physically.
There is an opinion that the blueprint slows down only before the game is packed. The packaged game works with the generated byte code and does not know anything about c++ and blueprint.
Personally, I use it not because of the speed, but because sometimes the blueprint turns into real spaghetti and the text is perceived better. But sometimes blueprints help not to make a wall of text in c++.
The way blueprints can end up looking is one of their worst downsides for the developer. Obviously, both have their uses, and I think that if something is more readable in the other language, then that's a valid reason to use it.
Bro I need Your Help I trying to Make Simulation game in unreal for android But I'm Confused How to Create Touchable steering Wheel can you Help me ?
Blueprints 😍 Great video!
There is a question that hasnt been asked from what I tried to research. I know you can use both blueprints and C++ in a single project and they are said to work hand in hand with each other. But, my question would be why or where would i need to use a language when a node covers an issue that would take 10s of lines of code to write and type to implement within gameplay? For example a weapons system you can create a Baseweapon Actor type, then have the functionality within that blueprint, then create children of that blueprint to different weapons each with their own functionality ie a pistol or rocket launcher or gun that shoots water or lazers (you get the point). what would be the purpose of implementing C++ when the system is already solved by Blueprints?
Great video, that help a lot!
True i started with C++, although I'm from a Computer science background and it took me 9 months to learn both C++ and Blueprint from Scratch and aim still Learning.
That's definitely a lot better than me haha. Were you well-acquainted with C++ from before or did you have to start from zero with it?
@@NitrogenDev I was a little familier with the oops and programming languages concepts learning in college may be that help me a bit there ☺️
Most definitely haha.
Can i use both c++ or c# and blueprint in single project in unreal engine
can you make mobile apps instead of a game with unreal engine? like there are menus for the game, now imagine there is no game and its just the menu and buttons.
Great info, dear. Than you so much!
i normally use unity when making games and i'm quite accustomed to the c# programming , i wanted to give unreal a try and just wanted to know if the c++ syntax is similar to c# cause i prefer writing out my code but i don't want to waste too much time learing an entirely new programming language from scratch
I'm in a weird place where if I'm going to design an algorithm, I'm going to basically write it in sloppy C++ (because I've learned some basics from working with Arduinos). Meaning, I'll probably end up using code for more complex scripting, but for simple stuff (like simple materials) I'll probably stick to Blueprints.
However, I am a little intimidated by all the Unreal-specific coding stuff I'll have to get used to in order to plug my algorithms in and have it actually work. They'd probably be a mess to create in Blueprints (specifically, right now I'm working on making a procedurally generated map, and there will be three levels of nested "for" loops).
Definitely use C++ for procedural generation. You may see a lot of people use blueprints, too, but you might want to future-proof your system with C++ if you ever want to scale the map.
Also, blueprints are perfect for tweaking materials and other details alike. There's no reason to complicate your setup with C++ where it's not necessary.
@@NitrogenDev valid point. It seems to be harder to find good tutorials online for C++, though I imagine the algorithms will essentially be the same.
@@aerodanar Definitely. Conceptually, algorithms do not change between languages. However, if a certain language doesn't have, say, a particular functionality that the algorithm needs, then it obviously won't work.
My brother knows Blueprints and I want to join in and help him. Should I learn CC++ to give more variety to our skills or learn Blueprints so we're on the same page? We're gonna be making games.
I like the term spaghetti because I always like to call the lines noodles. I think that's the correct terminology
Hello,thank you for the informative video!
I'm happy to see that you enjoyed it.
Very helpful and informative. I am a designer so Blueprints it is! Great class!
Can you provide some resources for getting started in C++ Been using blueprints for over a year now, and ready to try more scripting
Thank you,
I've always heard that there is a risk of killing your computer with c++. For example if you create an array, c++ allocates space but does not handle overflow. Is this true?
"documentation is your best friend"
Good quote
You say that Blueprints need a VM to run and slows down the game you mean load time , lower fps ??
I meant to say lower frames per second.
just dont use tick ( or use few nodes)and all ok i had never problem with bp and all my games with performance in mobile at least though after 5 years i should have knew c++
@@aggelosbakir5411 There's a bit more than that to it, such as which nodes you're using (for instance, spawning a class from blueprints is a lot heavier in comparison to other nodes), and you have to pay close attention to how often you call these nodes.
@@NitrogenDev true like get all actors of class with tick is a comon trap
@@aggelosbakir5411 Certainly not something I have done myself, nope...
If I have a decent amount of both Java and Python experience, how challenging is it to learn C++?
I want to learn C++ for Unreal but there are very few tutorial out there.
If you have to start learning C++ for unreal from where will you learn, any tutorial to suggest.....please
There is almost zero tutorial:
* Learn Blueprints and hope that you could use C++ just by learning it (without special UE tutorials)
OR
* Use Godot or Unity instead
Indeed, there aren't that many C++ tutorials out there, but from my experience, most of them will be at least a helpful starting point. A huge part of being able to use C++ in Unreal is knowing how to use C++ outside Unreal as well. If your foundation of C++ is solid, then using it in Unreal shouldn't be any harder than learning blueprints.
Learn C# or Java. Remove the idea of making a Game. Start making little simple programs an try every time something harder. If your think you are good one of these languages go down in c++ and do the same thing. If you than comfortable with the language you can start making games. As Tutorials I would recommend The Cherno C++ series. It’s not a „how to make a game in c++“ series it’s more like a how c++ works.
Learn C++ all the way, Blueprint is good for prototyping, but when you need to go further in a larger project.. BP is going to confuse you, nothing like a clean C++ code.
I have a background of (webdev) including PHP, also learned C# a little just for the sake of developing small apps for my PC and to know it in general. Since 2021 i switched to solo gamedev and now i'm learnin the C++ language.... it's a hell! You can't even declare a function on the go! That's soooo uncomfortable and distracting. So, despite that I'm not new in coding, i decided to -learn C++ at basic level- to wait for "Verse" in UE5, and go with BP as long as the game performance is well, only use C++\verse in math algorithms and in case of performance leaks.
Learning even the basics is much better than nothing at all, so good job on that! Indeed, C++ can be very verbose from time to time, but that's why it's a good language: it's very flexible. At any rate, we have yet to see how good Verse is compared to blueprints as well.
Both. I find it's much easier to find functionality using Blueprints than C++.
Also compile times. Aggh. In C++ it's awful. And you need beefy machine with tons of memory to utilize your cores. For example, my 64GB 16 threads machine can't use 16 threads to compile 16 files at once: I run out of memory, if I have youtube in background.
Problem with BP is after certain point they become mom's spaghetti and no amount of macro or rerouting can change that.
They also don't have constant to speak of. E.g. you can't define VALUE=150 and bind it to several properties in property window as initial value.
Is there a downside to nativizing Blueprint prior to packaging?
Some things may not work as expected when nativized. I don't have a lot of experience with it, so can't give you more precise information. You just need to carefully test if they behave the same nativized as in VM.
The worst case possible is that compiling your code will not work as intended (or at all). That's why Epic recommends only partially nativizing blueprints that truly require it.
I didnt realise that there is something to learn about visual scripting.
On the other hand, c++ should be avoided by everyone without deeper knowledge about programming. So, no offense, like 99% of people who play around in UE engine and watched this video(including me, at the end of the day!) .
In the most cases, using c++ is like cracking a nut with a sledgehammer.It has many features you most likely not take any profit from but the issues they cause.
Ok, 10 years passed, but my professor (he was also code reviewer and adviser for many big companies) always said that he practically has never seen a properly, in c++ written code.
My recommendation:
Wait for the UE specific scripting language that should come with UE 5. They dont implement that without a reason. They know that the amount of people who can acutally handle c++ (not people who think they can!) is too small for their plans with the engine!
I completely agree with not touching C++ unless you know what you're doing. It's really easy to mess up a C++ project, which might even leave you unable to open the project.
The performance difference between blueprints and c++ is near non-existant in most cases and won't be noticed for most functions in an indie-game, especially a singleplayer one. C++ should be used for competitive networking or high-level mathematics, with everything else one can use blueprints and be completely fine, it's not 4.1 anymore.
This culture war between what is better is just stupid, use the tool that makes you prototype and create content faster. At the end of the day, you can be a c++ genius and still never finish your game, while the blueprint-only dude makes a successful title in a year or less.
I just find Blueprints turn to spaghetti after a while. It's also notoriously fiddly and temperamental to share data, call functions, fire Events etc. between blueprints.
My personal opinion..
Unity C#: very easy to learn the language, but Unity doesn't have a beginner friendly interface to work with.
Unreal C++: Steep learning curve, but an interface specifically designed to be user friendly.
But.....
...
Unreal's blueprint system: GOD LEVEL LORD HAS SAAVED MEEEEEEE
any good starting point for blueprint learning ? I dont care about c++ for now :D If I ever find stuff not working I will look more into that... not now tho sounds way harder than it needs to be :( :D
find some course on UDEMY about BP
I always recommend just using CZcams and the docs provided by Epic. Nowadays, I am pretty sure Epic made their own courses, so it may be worth giving those a try. Other paid courses may be helpful, but I think you should first try the free methods.
How to learn blueprint scripting and please share resources to learn it
Learn in udemy courses gamedev team teach the blueprints
Udeny or CZcams
@@igorthelight Your wise but in Unreal engine website they provide documentation
I know C#, and I am using Unity, now I am in the parth of learning Unreal, and I am thinking if I should or should not learn C++. I am awere how complex is C++, actually i am Unsure if anyone knows whole C++, the bibble book of C++ is 1000s of pages long. Maybe I am missing something.
wish someone made a proper video comparing bp vs cpp perfomance
There's this czcams.com/video/V707r4bkJOY/video.html and czcams.com/video/8gVixDglpQ4/video.html videos. I suppose you have already watched these, but if my assumption is wrong, then I recommend giving them a watch. Alas, they don't go in-depth, but could give you an idea of how you could try this yourself.
@@NitrogenDev wow, thank you. i appreciate this. yes, i have watched these, i just didn't know if these videos are credible + relevant :) saw ppl complain in the comment section of the first one i believe.
Great video Nitrogen.
This days I have been watching C++ and Blueprint tutorials parallel. I'm an architect fascinated with UE4. Last year I first learned how to properly unwarp 3D model, how to import it in UE4, spent days learning light techniques in UE4, learned animating with cinematics. I made my first animation using older architectural projects(3D models) for practice. Made my first application using tutorials and applying them step by step in my projects. And now it is time to properly learn Blueprints and hopefully C++, so I don't have to watch and pause tutorials on one monitor and copy blueprints on other in my projects no more.
Nitrogen thanks a lot, your tutorials were very helpful for me.
After one and a half year from being a total knob in UE4 this is how far I got.
Interior:
czcams.com/video/6P83LJP95Io/video.html
Exterior:
czcams.com/video/MhFtdc6OAzk/video.html
That is absolutely brilliant! The compositions are awesome, you nailed the lighting, and the post process is simply great. My only piece of critique would be turning down a bit the cinematic bloom on the interior scene because - to me, at least - it feels a bit overwhelming in certain moments, such as around 1:24. But, other than that, it really is fantastic, great work!
As well, good luck learning both blueprints and C++. It's going to be a tough journey, but I'm sure you'll get there!
@@NitrogenDev saw your videos and they are awesome!
Why are you comparing a visual scripting system to a programming language?
So are you trying to say that I should design my entire game with blueprint first, then remake it with c++?
Can you make a game by only useing blueprint? Or will it run to slow?
1:17 dying light lockpicking?
what did you use to learn c++?
Mostly C++ docs and a few auxiliary sites like SoloLearn and GeeksForGeeks.
How much time did it take you to learn C++(just basic without libraries)?
And How much time did it take to learn theory of gamedev?
I can't really say I "learnt" C++. There's a lot to learn even without libraries, and I'm sure I have barely scratched the surface in reality. But, to get myself to understand code and be somewhat able to write it myself, I would say around one/two month(s) for the basics.
As for game development and design, it is all a continuous learning process of reading articles and books, studying games and design philosophies, and developing or at least creating a mental map of how a game would work.
@@NitrogenDev Hi bro, nice video, did you study computer science?
Thanks
I hope the video helped you.
YOU Are Amazing! (the video contains some amazing smooth animations, you can speak, nice content)
Thank you very so much for this info sir :)
I have learned c++ quite a bit and I want to learn unreal engine , which way should I go know. thanks for help.
BP
I would strongly suggest to start with blueprints to learn the core mechanics of the engine. Switching to C++ later on is easy, specially if you are familiar with C++.
As fernwaerts mentioned, I think starting with blueprints will help you a great deal to get the ropes of the engine faster.
Thanks
Both at the same time. Only that way you understand how to use the Engine at it’s fullest. And the most important read the official Documentation.
As a beginner in both game development and programming, should I start with Godot and GDScript to learn basics or should I go straight to blueprints in UE and later move on to C++. I feel in the long run, Unreal Engine is what I will focus on in my future career. Great video and thank you!
If you're sure you want to use UE4 in the future, I would recommend starting directly with it. While Godot might come in handy to learn basics of scripting and design, Unreal can teach you that as well -- although in a slightly rougher manner.
Great video! But... what songs?
Well according to your opinion I will start with blueprint first cuz I alr know c++ by idk how to use them in unreal engine since there are more inbuilt features of c++in unreal so I will learn them later after learning blueprint and creating a game with blueprint
So if you are proficient with C++ and blueprints then the answer is to use both but mostly C++ for "complicated stuffs" and blueprints for higher level fast prototyping stuffs? I blueprints with lots of content tend to look like spaghetti and be undreadable.
Generally, yes. However, you can keep complex systems in blueprints as long as moving them over to C++ wouldn't save a noticeable amount of performance.
BP are there two tweak and change stuff that you written in C++. Like you would code a Weapon firing in C++ but can change the Range in BP.
What if as a designer you make the game sysems with blueprints and then you hire a programmer to write it for you?
While that's double the work and a possible waste of money, it should yield the same result as writing it in C++ from the beginning.
if you are already familer with a C language sintax like C# how difficult will the translation to C++ be and should I bother learning Blueprints?
Although the C# syntax is similar to that of C++, they are vastly different languages. For instance, C++ uses two files to create a class instead of one. Though that's not to say knowing C# won't be helpful at all. However, I have very little experience with C#, so take what I said with a grain of salt.
And yes, you should definitely learn blueprints!
Take C#, remove Garbage Collector, add some weird and clunky syntax like 'std::cout
@@alixey59 That thing with Garbage Collection is not right. In C++ you can instantiate object on the Heap and the Stack. Everything you do on the Heap you need to clean up after. The Object on the Stack deletes themselves after you get out of scope.
i tried normal coding in unity, after 2 week i was able to do a code to shot down my pc in notebook in batch code, dunno how ive get there
I find being time poor blueprints has been very helpful for me. Can you go more in depth on how the VM can slow down a game maybe some comparisons ?
I don't think I'll make a video on that, but you can try it out yourself by writing the same piece of code in both C++ and blueprints, and measuring the time and - respectively - the time difference.
Someone already has.. the difference was negligible
suggest some ue4 lectures please..
with c++
Making logic with blueprints can be tedious, hard and complicated too, especially whan you have to do big and complex things, making games and using engines is never an easy thing, it's always about learning (a lot!) ans problem solving
Just came across this.
You have to be very careful with BP because of this specific situation:
1. Made an edit to your BP.
2. Saved your BP without compiling.
3. Close the editor.
Reason why is because UE4 for some reason, allows invalid BP to be saved. Usually this isn’t a problem because if you were to Compile, it will tell you something is wrong with it and so you can fix it.
But if you were to close the Editor without compiling, as soon as you open the Editor again, it will auto-compile your invalid BP - making your BP basically useless.
This happens with C++ too. But the crucial difference is that C++ can be edited and compiled outside of the Editor. BP can not. The Editor is required to edit BP. But opening the Editor causes the invalid BP to basically kill itself.
This isn't really a problem because the editor throws an error message at you (when you run the level), telling you that you are using an invalid blueprint in the level.
@@GordonSeal I forgot to mention that it's specifically when you do something in the construction script (since that gets executed during project load). Sorry about that.
Are blueprints good for getting any jobs?
Although they alone may not be enough, they're handy in a lot of positions such as level/environmental designer, game designer, and maybe even for those that create in-engine tools to help developers. There are probably other jobs that may put blueprints to good use, but I think that changes with each workplace.
which will be better c# or c++ , which one do you prefer ?
My experience with C# is little to none, so I'm can't give a proper opinion, but I would probably say C++ as it might teach you more low-level concepts than C#. However, I might be mistaken.
C# pros and cons:
+ Easy to learn
+ Automatic memory management by using garbage collector
+ Understandable syntax
+ Easy to use standard libraries
- Require CLR (basically a lightweight Virtual Machine)
- Uses more RAM and CPU
C++ pros and cons:
- Hard to learn
- Manual memory management (there are things that could help you)
- Syntax is from 1970s
+/- Good standard libraries but sometimes confusing
+ Don't require any Virtual Machine
+ Use less RAM and CPU and generally faster
So my advise would be: for Desktop applications and small games use C#.
For big games or big professional programs use C++
For creating drivers use C
I learned a lot from this, thank you!
No need to thank me, I am happy to see the video was useful!