Blueprints vs C++ - Which One Should You Learn in 2021? - read the full article about C++ 2021, Software Development and from Nitrogen on Qualified.One
Should you use Blueprints or C++? Or, more generally, visual scripting or a traditional coding language? Without prior experience, this is a hard question to answer, and - even then - it still depends.
So in this video, lets take a look at what you should consider before choosing which one to learn in 2021, such as difficulty and job opportunities.
I have over three years of Unreal experience with both types of programming languages, and this is what I have gathered throughout this time.
There is a lot to talk about, so lets get going.
First, its crucial you understand the differences between the visual scripting and coding languages.
And although there are many implementations of visual scripting languages out there, most work under the same principle, so Ill focus on one single example: Blueprints, the Unreal Engine solution.
The blueprints system is a gameplay scripting system that uses these so-called "nodes" which can connect to each other to form code or, as it is better known, spaghetti.
The biggest advantage of Blueprints is that they allow for very quick prototyping.
You can create almost anything you could using traditional code, and you will save a good amount of time.
That is, partly, because its easy to understand the execution flow, which means the order of the nodes.
Further, theyre highly accessible and self-explanatory.
Most nodes do exactly what their name says, such as adding force, spawning a class or playing a sound.
Consequently, learning this system is straightforward most of the time, even if you are a beginner.
On the other hand, C++ is not nearly as simple.
It is a general-purpose language, meaning that it wasnt specifically designed to work with Unreal Engines architecture.
Once you exit the engines API, you will need to come up with your own solutions.
Moreover, its syntax can be confusing at times, debugging can be tedious, and taking care of memory leaks wont be done automatically.
So, although you have more control, you need to be able to write proper code.
Albeit that, learning C++ is rewarding: you can write more complex and performant code, and you have more opportunities, because it is a general-purpose language.
So if you ever want to switch from game to software development, it will be much easier.
So, which one should you use? First, it depends on your personal circumstances, such as: do you have enough time? Are you able to efficiently use Google? Are you fine with selling your soul to the devil? Learning C++ is a commitment, and it takes time to become used to some of its weird syntax.
If you dont have the time nor patience for that, then perhaps Blueprints are the way to go when just starting out.
They will enable you to create mechanics, concepts, and prototypes.
But for full-fledged games, where performance matters, C++ will certainly come in handy.
Because blueprints execute through a virtual machine, certain pieces of code, such as complex calculations, will slow down the game.
Conversely, C++ doesnt need a virtual machine, which means there is one step less in the execution of code.
This sometimes can be a deal-breaker, but fortunately, the engine comes with a tool called Blueprint Nativization.
This translates Blueprint code to C++.
Its not always advisable to nativize code, so its best to keep that for large classes.
Therefore, if you are a solo developer, depending on the scope of your game, you might want to carefully choose which language to use.
But, on the professional side, things are rather even.
For this video, I will make the general assumption that game programmers always write traditional code, while designers always use visual scripting.
That’s because blueprints allow for changing values on the fly, without having to go through a recompilation of the code, so its easy for them to get the right values and feel.
In fact, if programmers expose variables to the scripting language, designers will have access to them, and will be able to further expand the backend, without touching the code itself.
An average game programmer salary is around $95.000 a year, while a designer averages just slightly below that at $90.000, both depending on the persons experience and exact role in the team.
Of course, there are some exceptions and factors, such as whom youre working for, and those numbers may vary.
So, which one should you learn and use? Well, just as I said back in 2019, theyre complementary systems, they can work in and of themselves, but together they leverage each other, and bring - by far - the best workflow.
Combining easy-to-access variables and prototypes with performant and proper code, is the way to go.
Ideally, you should know how to work and operate with both at some point.
I highly advise not trying to learn both at the same time, as youll be more confused than anything, so take your time, and go at your own pace.
But, thats only my opinion, so if you think theres a better way to approach, lets have a chat in the comments, perhaps we can all discover something new and learn from each other.
And finally, let me give you some advice from my personal experience.
It might seem hard when youre just starting out, but just keep learning, and soon you will notice improvement.
If you end up starting with blueprints, like I did, and eventually begin learning how to use C++ in Unreal, prototyping the code in Blueprints will help dramatically.
Because, once you have the code down in an easy-to-understand format, you can easily translate that to C++ node by node.
Further, try to create and play around with your own mechanics.
This is one of the best ways to understand code, and learn how to write it yourself.
And, lastly, remember: documentation is your best friend.
And thats it for this video.
If you enjoyed it or found it helpful, please leave a like and subscribe, if you dont want to miss any future uploads.
Or to support me directly, you should consider becoming a patron like these awesome people, who brought this video to you: Aviram Ifm, Bader AlQahtani, Giovanni Pena, Golden Glow Master, Realitätsverlust, and Waifuislaifu.
Thank you so much for watching, and Ill catch you in the next one.
Nitrogen: Blueprints vs C++ - Which One Should You Learn in 2021? - Software Development