According to Nick Whiting, the main thing that’s slow about blueprints is the up and down in and out of the VM that happens with each node. So the more nodes you have, and obviously the more often these nodes are being hit, say on tick especially, or 1000 instances of the blueprint running simultaneously, the slower it will get. If you replace these nodes with even with sub par C++ code, no VM is involved anymore and chances are that any performance issues would be negligible in most circumstances. Of course there will always be cases where something is so performance intensive that only the absolute best C++ code could handle it, but then I’d wager that blueprints weren’t an option to begin with.
Haven’t read all the posts, but as a moderater, who sees tons of posts in the Blueprint Section each day, i need to say the following:
EVEN if you don’t want to learn C++, because you think Blueprints are enough for your Game (It is possible to create certain Games without C++), you NEED to learn about Objective Orientated Programming!
There are so many people that have no idea about Parent, Child, Casting, Pointers etc, that i really need to post this here.
DO NOT think you can get around learning the logic behind C++ only because Blueprints aren’t written Code! If you don’t know how to use the standards of OOP, you will find yourself in a really bad position when
facing BPs, because even in their Visual Form, they are C++! Way too many beginners ask for help, because they don’t know why they’re getting Accessed None errors or they don’t understand what Casting is.
Do yourself the favor and learn it. You don’t need to be able to write C++ code. But learn about how inheritance etc works! It will speed up your BP learning a lot and
you won’t have so many depressing moments where you don’t know how to create the things you have in mind with BPs.
(All “You”'s above refer to everyone reading this, not willing to learn C++ at all!)
I really wish someone would sticky this in the blueprint section of the forums lol.
I’m afraid, no one would read it ):
“Objective Orientated Programming!” haha you made my day !
Sorry to update an old post but i am at this point :
I have strong background in IT (use to be a software architect) but kind of noob on C++, ue4 C++ we could say.
My story is i started with blueprint and had a lot of fun (still noob).
Then i felt like maybe i miss a lot of the engine features doing only blueprint, so i started to create C++ object and create blueprint whith those class as parent (in case i need C++).
then i started code C++, (hey coder for life) thinking, “BP is fun but it is slow to write so basic loop, i could code faster in C++” and then BOOM.
Nobody mention one thing : The ■■■■■■■ compilation time !!! it is very painfull !
I am still leaning the ue4 C++ and i can tell i am much more slower to progress than with the BP where i can try, change compile in 2 sec, have visual debug, test again.
For noob with basic OOP knowledge, i think starting with BP is more fun, let you lean about the ue4 API, before going to c++ compilation time and editor crashes (cause of your bad code) that can hurt you motivation.