BluePrints VS C++?
It’s not really a competition, if I understand correctly, CPP and BluePrints have their own niches and tasks that one will handle better than the other, but at this point of reflection I have a question:
When is it more advantageous to use cpp and when is it more advantageous to use BluePrints?
As you said, this is not a competition. Both work great with each other.
The general idea I gathered from reading questions like this one is:
- Blueprints are really great when prototyping an idea.
- C++ is great at performance.
Basically, blueprints are fast to create, easy to read, and guide you well using context-sensitive nodes.
C++ is usually faster than blueprints, but it comes at the cost of longer development time (at first). You can also use C++ functions as blueprint nodes (if defined correctly).
I personally enjoy C++ more, but that just come from my coding background. I also think BP is great.
As one who started off with blueprints I can safely say that both are viable and work well with one another.
Blueprints:
- Easy to prototype new ideas
- Easy to debug due to visual feedback
- Easy to maintain, expand
- When you make an error it does not result in a fatal error and crash
C++:
- Much, much better performance
- More freedom, can extend or override features of the engine, unavailable for blueprints
- You can define functions and properties to be UPROPERTY or UFUNCTION so your C++ function is available in blueprints.
- Downright crash if you do not have good error handling, which forces you to find and eliminate bugs.
My current development cycle is as follows:
Create stuff in blueprints, toy around > Re-implement in C++ > Make child blueprint class from C++ class > Repeat
This way I can iterate fast but also the end result is much more robust.