Download

Blueprints vs C++ Code

Hi!

I’m new to Unreal Engine and just started learning. I come from using Unity and working in the industry for some time (using custom engines).

I saw that with unreal, many things you can do with C++ are achievable with blueprints (I’m loving them).

My question is where should I draw the line to decide when to do a blueprint and when code.

Thanks!

You can do everything in blue prints initially and then convert them as you see fit … or use the Nativize Blueprints functionality (https://docs.unrealengine.com/latest/INT/Engine/Blueprints/TechnicalGuide/NativizingBlueprints/).

However, you can still ship entire games built in Blueprints, we have done it and they run very well. The rule of thumb we use is, do everything in blueprints, if we hit a bottleneck convert to C++.

If you know C++ and are comfortable with it you should prefer it over Blueprints whereever possible in my opinion, for these reasons:

  • C++ is much faster (there is nativization for blueprints, but it still isn’t as optimized as hand written code, plus I don’t know how reliable it is)
  • In C++ you don’t have to spend time arranging nodes to make them readable
  • Blueprint compile times get much slower the more complex your game becomes
  • C++ can do anything Blueprints can do, only a fraction of the C++ functionality is exposed to Blueprints

My rule of thumb is, do all the core gameplay code in C++, do cosmetic level props and UI with Blueprints. However if your UI is rather complex you might want to do as much as possible in C++ parent classes as well, I moved my in game editor UI from C++ to Blueprint for faster iteration a while back, now Blueprint execution time is the bottleneck of my editor.