Are Blueprints C++ complete?
This is more a formal question from the point of view of computation. Could BP reach the same expressiveness (in the context of UE4 of course) that we have in C++? Can I really do exactly the same thing in BP like C++? I'm not an expert of BP, but for example is NOT possible customise the Map data structure with custom types, but only with built-in variables. For instance, each programming language like Java, C#, C++ allows to build a Map>, but not BP. This is just one example I discovered, but I'm pretty sure the limitations on typing could not be the only one. So, if my reasoning is correct, what exactly I CANNOT do in BP?
asked Mar 30 '17 at 12:58 PM in C++ Programming
No it can't do the same things.
First: types like double for example do not exsist in Blueprint.
Second: Not all functions are exposed to blueprints, for example you can't spawn a component in Blueprint if the class does not have a (C++) function for that, whereas in C++ thats a simple matter of calling
Third: This is not technically a constraint, but in reality it is: If you try to make complex things in Blueprint all hell breaks loose. It is just inclined to be less readable than straight C++ code when it gets complicated. Graphs get real big real fast, however a .cpp with 500 lines can still be perfectly readable. Templates also don't work in Blueprint, you are not able to do pointer magic (the desirability of that can be questioned - I used it multiple times with great success)...
Don't get me wrong, I like the Blueprint System and it has it's place, but that place is not where C++ is. They are not comparable. Blueprint is good for getting small task done quickly, and has the additional Bonus of a very visual typechecking system that is very usefull for beginners (try to decrypt the type error when you want to bind a delegate in C++ for the first time - good luck), but it does not nearly scale as well as C++ does.
answered Mar 30 '17 at 01:26 PM
Follow this question
Once you sign in you will be able to subscribe for any updates here