I’m talking everything from the start to End?
The short answer is YES.
There is quite a bit of information on the forums regarding the merits of it … but in a nutshell you can make a whole game in Blueprints.
ok then thanks for the replys…But does it limit you in anyway?
Yes, there is only stuff you can do in C++.
I do not know what it is, but yes.
There are some performance related issues and there are a few things you can only do in C++ … but having said that … your best bet is to start working on your game and see how far you can get with just Blueprints … the result may surprise you.
If you experience any performance issues then you can convert those to C++ … but I surmise that depending on your game you might not experience these performance issues.
By the you get to the limits of Blueprints (if any) you will probably have a pretty decent game already and then getting someone to help you with C++ or learning C++ on your own shouldn’t be too much of a hurdle.
Good luck with your project. 8-}
A simple game on beginner level, yes.
Sooner or later though you will encounter things that you can not do with Blueprint, and you will have to write your own Blueprint functions using C++.7
So for a real game, you will need C++ bits.
The entire Blueprint scripting is a visualisation of C++, and so far Epic has converted many of their C++ functions to blueprint, but not all.
But it might be, that in a year or so they will have every single function available in C++ in blueprint as well. Just not yet. It takes to build a blueprint node for every of the thousand C++ functions and test them.
ok got it but what are somethings i can not do in BP?
no really though I don’t think I’ll be going into C++ for any reason on my game…if I do I’ll comment on it but I do not foresee any problems I can’t handle in Blueprints currently…
You can just have a look at the API. Every function and variable that is not exposed to blueprints represents the limitation.
For example, there are many gamemode functions for the multiplayer that are not yet accessable. The whole session system
was exposed a few updates ago. Also there are many things that are hardcoded into the source. This means you can’t change them
until you open up the Github Source and recompile the Engine.
This needs to be done for several things, like changing the caps of your movement component. There are caps like “You can only go up a loop to 90°, then you will start
falling again”. All these things need C++ and can’t be done in BP.
A good practice is to first learn a bit BPing and after that, recreate the BP in C++. You can create your base classes with C++ and use BP to add childs.
I do this for my weapons. I created a base weapon class and made 4 child classes als BP from it. These represent my different weapons.
Yes, i know that you can make a BP for this base class, but C++ feels way more organized then using visual scripting.
All in all, you can do very much with BP only and you will just need to work with them until you find the point where you need to alter the Source
or where you need function and variables that aren’t yet exposed to BP.
If you ever want to learn C++ and switch over to use BP and C++, i highly recommend to go away from UE4 and learn the basics.
Best things are University Scripts. You can easily find all the very important basic topics with examples and after doing some
BP, all these things will kinda look similar to your BP, but just with code instead of a node. The logic stays the same, since BP ARE C++ at last.
With RARE exception, the stuff you will need C++ for is the stuff that would require editing the engine itself due to hardcoded logic (like Z axis = up for characters); for most things, BP can do it.
It’s not that every C++ function is exposed, but for much of it, enough IS exposed to BP to recreate it. For example, neither the specifics of camera position interpolation for camera lag nor the specifics of orienting a player’s rotation to his velocity are exposed to BP; but I was able to “modify” both of these functionalities by disabling them and then recreating them with BP nodes so I could make specific tweaks. There’s honestly enough exposed to BP that you could probably work around the limitations almost entirely if you had the patience to recreate prefab functionality from scratch with basic logic nodes exposed to BP; it’s basically what I’m doing a solid 30% of the . So far the performance hit has been basically nothing (Ticking just hundreds and hundreds of nodes in my Character has done less to my FPS than one particle system I didn’t LOD properly, for example).
No rare exceptions, but rather quite often when leaving the UE4-beginner phase.
There are quite a few thing not exposed in BP, that are only possible in C++.
From the top of my head:
- no access to any Physics Assets constraints via blueprint
Basically anything that is API and not in blueprint. Just look up a category in Blueprint, like ‘rotators’, then google API UE4 rotators. Then you can compare what is missing. You can do this with category.
BP are nice to get going and for simple beginner stuff. But take it for granted: any game that is a bit advanced will need c++ bits.