I’ve been using blueprints in Unreal Engine for a bit over a year now and recently I decided to give the C++ aspect of Unreal Engine a try, I have to say that I’m extremely disappointed. Not only is it incredibly time consuming to do anything, even something as simple as prototyping, in C++ compared to in blueprints, but it doesn’t seem as if there is anything one could do in C++ that one could not in blueprints. Infact, it seems as if C++ is utterly useless in UE4. I have attempted to make several projects in 4.16.1 using C++ however all of them either end in my deleting them out of frustration due to constant compiler errors or crashes during compilation/editing that are nonexistent when utilizing blueprints.
As of now I’m feeling a bit frustrated and so I realize that the opinions relayed above are biased heavily against C++ development in the engine, however, I’d like to hear what others have to say on the matter.
For me it is much easier to implement, debug, maintain complex code in C++, beside getting full psrformance design time. For simple stuff BP is great, but all my classes are C++ based.
I have needed to port some blueprints to c++ for performance or maintenance reasons. Everytime I have notices about 10x performance. Also complex spaghetti node web has turned to neat and clean c++.
in a FPS/RTS project I do calculation intensive functions for AI in C++ (selecting best target, aiming with accuracy, group movement setup, formation positioning, managing objects of interest etc.), but using BT and BP decorators/tasks/services too, it is quite a flexible approach.
my other project is an own RTS pathfinder + movement system purely C++, requiring game level geometries to be processed to get the necessary database. it would be a nightmare implementing with BPs, and very slow without the nativizing process… only artist related stuff is blueprinted.
I am working with Unreal Engine C++ for sometime now but I agree with you that Unreal Engine has issue of crashing when developing with C++. Blueprints are really good for easy stuff, but according to me the larger the components or the project becomes harder it is to manage the m, but in C++ this is no the issue. Managing large projects/components is easy.
Blueprints and Unreal C++ are (for the most part) equally expressive. The benefit to writing code over using a visual scripting language is that, if you know what code to write, you can do it much faster than by clicking through blueprints. Something that takes 5 nodes in Blueprints might condense down to 1 line in C++.
Also, when you start to have really large blueprints, it gets hard to organize things in a way that makes sense. With code, large codebases are common and can be organized and maintained more easily.
As mentioned earlier, managing complex code is much easier in C++. Editor made custom structs are is broken in 4.16. Blueprintable structs are also easier to manage in C++ and they wont corrupt blueprints when edited and C++ has big benefit of being much more performance friendly which starts showing in larger projects what cannot be overlooked at.
You could write a complex line of code in C++ in 6 seconds, that would be the equivalent of an entire page/screen in blueprints in a few minutes. Multiply that over years of developing a game and you can get a significantly more amount done in C++.
I use C++ and build blueprints on top, and although I’m quite fluent in both, I feel like a snail when building up a blueprint. C++ however requires much more knowledge to avoid compile errors and crashes, so it’s got a learning curve but it very worth it in the long run.