Any negatives it has over using C++?
Obvious ones are:
You need to learn a new ‘language/interface’, but thats temporatory.
Existing codes from C++ cannot carry directly over. You either make them from stretch, or manually convert the codes to blueprints class nodes & functions.
Blueprint cannot be transfer out of UE4. If you decide to change engine…(or Epic abundance Blueprint in UE5!?), you cannot bring the codes over.
Certain tasks are easier & more efficiently done by ‘typing’ a few lines of codes’, but blueprint can improve over time to be more streamline.
Blueprint code is somewhat slower than C++ because blueprints compile into bytecode. Not everything is accessible from the Blueprint since Blueprint-callable functions must be explicitly exposed from the C++ code, but with each new version of the engine there are more functions that you can call from the Blueprint. Blueprints are also harder to maintain when they get really big, but this is hardly a disadvantage because you can use functions in blueprints just like in C++.
UE4 is designed so that you can create your projects in either way depending on your skills and preferences. If you are more comfortable with the Blueprint than with C++ then it’s OK to use the Blueprint in your entire project, unless you are actually implementing something that cannot be done in the Blueprint. If you are more comfortable with C++ then you can forget about blueprints if you want and just code everything in Visual Studio.
But usually you’ll want to mix them since they both have their advantages. Especially if you have many different people working on your project.
Let’s not forget flexibility. Whilst you can certainly implement things in Blueprint, some things are simply better implemented in code. There are complex algorithms I wouldn’t want to implement in Blueprint and it’s impossible to do certain things, like implement libraries or determine exactly when your code is run.
Performance isn’t just about speed, it’s also about memory footprint and network bandwidth. Blueprint only uses the larger data types, so you may find you’re frequently using int32s when really all you wanted was a byte. This can explode when doing things like networking, as you’ll be using considerably more bandwidth than you wanted to. To top it off, you also have less control over when variables are replicated, so you potentially end up replicating things more often.
^ hmm pretty interesting I didn’t know blueprint could end up using so much bandwidth. Kinda like how Titanfall needs a 768k upload speed just to run proper in multi player right? and everyone with slower connection complained.
There is a byte type for variables in Blueprints.
A lot of the issues with Blueprint listed can be improve. We just need to feedback to Epic.
The programming language we love & hate like C++ has been around for like forever, & the C++ I first learned in like 1995 in school & the C++ I refresh again, just for UE4 this very year, is at least 90% same.
The reality is there isn’t much that can be improved using traditional coding.
Visual programming like blueprint, is still so young & can already do most of the things traditional coding did well. There is only room for improvements, & I believe its only a matter of time when it will conclusively overall better than having to manually typing codes.
Blueprint is already miles better then Kismet ever was.
In any case, there is no stopping anyone from using blueprint or C++, or a combination of both.
i found construction scripts to really slow down once blueprints became complex…Im sure this will improve over time…
Its well worth watching Hourences views on how far he could take blueprints in solus in the recent Ue4 twitch steam
I really enjoy using blueprints though especially for prototyping mobile gametypes quickly
Guys if blueprint can replace C++ and typical programming then are we wasting time learning programming in College?
You are never wasting time learning a programming language. Learning a programming language gives you much more than just a syntax, it gives you a way to think how things are made, it gives you a way to solve a problem in ‘infinite’ ways. And most important it gives you a strong knowledge about logic and organization. Humans are very chaotic while a computer is totally logic, so it takes some time to think how you should do things. I have seen far better blueprints made by people who know what programming means than from people who does not, its only about complexity and how you are able to organize the ideas in your head.
The very cool thing about BluePrint is that every one has now the power to create their game logic, even some of my art pals are asking for programming lessons to improve their knowledge which is totally awesome!
^ ow thanks for clearing that up buddy. Now I can continue my motivation to learn programming in college.
I wonder what performance difference blueprint would have over C++ in the same game?
And have there been any large games made with blueprint so far? I heard goat simulator is made with blueprint but the maps are very small etc and the requirements for the game is exceptionally high for what the game is.
Goat Simulator is a UE3 game, so definitely isn’t made with Blueprint. Solus started out as a Blueprint-only game, but actually Rama has been helping Hourences transfer some items into C++ now as it’s much quicker. Blueprint is an insanely powerful tool, but it’s not as powerful or flexible as C++ and that’s a given. You can definitely make and publish a game with it.
I prefer things to be done in C++ personally, it’s more solid, it’s not susceptible to corruption (fallen into that trap a few too many times), and it’s more flexible than a good woman ;). Learning C++ is definitely not a waste of time, as the skills you learn can be applied all over the place, and they teach you the big do’s and don’ts of programming, something you can’t really get the same feel for with Blueprint.
This is coming from a guy who hadn’t touched any programming language until April just gone, I’ve been learning C++ for a few months now in my spare time and I’m loving it.
^ hey awesome work on your website James
I wonder if I could create stuff similar to what you have if I learn some 3D modelling?
I thought most people learn some form of programming back in school?
I am a mechanical engineer by profession, & I have learned Pascal (did anyone even know this), C++, Unrealscript, MELScript (Maya), Visual basic, also Assembly language, even machine language, because thats the only language that the CNC machine can understand. Granted, a few of tehse ain’t learned in school.
You haven’t seen anything until you seen machine language!
Honestly, I think its far harder for a programmer to pick up art skill, than an artist to pick up programming skill.
When you think about it, Blueprint is programming language, a mix of C++ & Unrealscript. I think many non progarmmers; i.e artists, engineers etc do not like programing language not due to hating working withlogic, but rather the syntax, the lack of visual clue, & personally for me, to memorise functions, & remember variables names.
^ yeah I think I did some pascal and cobol basic or something like that in high school.
But it was like 9 years since out of high school so as I worked and save up enough money to go to Uni I realized most stuff I forgot. I think it would have been better to have taken out a loan as soon as I was done with high school and go to uni straight away. My mistake, but I am 28 years so its not really too late to learn new tricks I suppose. Besides I am quite dedicated to it much more than some of my classmates just out of high school who insist on slacking off.