Benefit of using C++ instead of BluePrint?

You can code entire games using Blueprints only.
But if you’re not a programmer in the first place, you’re going to have a really hard time keeping everything clean. And if you have the skills to maintain your Blueprint code clean, it usually means you’re a programmer. And if you’re a programmer, you usually do your code architecture in C++ because it’s better performance-wise and easier to maintain / organize (as Nawrot says).

But Blueprint gives us something unique: the power to create tools for everyone in the development team.
**
To me the best situation is when you have C++ programmers who develop Blueprint tools for anyone in the team. Then you have C++ parent classes of most of your stuff (weapons, pick ups, skills…) and you build lots of Blueprint child classes to customize them.**

You also have lots of stuff that are not exposed to Blueprint, which means you’re going to need C++ anyway at some point in your development (hosting / joining without the Advanced Session Plugin, modifying players’ inputs at runtime, or even just modifying sound settings). But I developed an entire game using 99% of blueprints and creating just the few nodes I needed in C++. It’s not like you have to redo everything.

If the question is: the benefits of building your code architecture in C++ over BP:
Pros:

  • easier to maintain
  • better performance
  • more features exposed
  • no Blueprint awkwardness (instability error, corrupted files)
  • usually gives you a better sense of how to properly do things

Cons:

  • less entertaining to learn
  • less friendly for anyone else involved in the project who doesn’t know about coding
  • slower prototyping times
  • you can’t soft reference assets

I agree and disagree in the same time. If you’re a good programmer, you’re going to end up with a slightly slower code. If you’re not a programmer, your blueprint is likely going to be a mess, resulting in slower process times for most of your systems.

Blueprint is slower by itself, but not that much. What really makes him slow is the fact that you usually don’t build something as clean as you do in C++. Simply because it’s convenient to drag wires all over the place and quickly do what you want to do.