Hi, I am newbie to UE4. In real game production, is it we should do almost coding in c++ and mixed with some blueprint? Or people doing 100% in c++ with NO blueprint?
thanks
from
Pretty much always using atleast a little blueprint.
Afaik, there isnt any real need to only use C++ or Blueprints.
I doubt that there’s any c++ only projects going on, I think it would be fairly silly to go that route, considering how convenient Blueprints are.
There are certainly blueprint only projects though, this is especially likely for very small games.
Here’s my experience with blueprints in UE4:
Blueprints are great for controlling very transient, perhaps design-linked events, like explosions and damage, or other visual effects.
More importantly, they form an excellent learning tool for someone with moderate C++ background to learn the Unreal Engine 4 API. Don’t know how to go about spawning an actor? Need to figure out a way to handle some events in your C++ class? Want to try something out-there as a prototype and see how it acts in-game? Looking for a better way to do what you’re doing in code (there’s most usually a class or function that does what you’re trying to do, just right-click-search for something similar)? All of these open-ended questions are solved by using UE4’s Blueprints.
In fact, what I most often end up doing when I want to implement a new feature in the game code is this: I make a blueprint that does what I want on top of a class I’ve made in C++, and tweak it as necessary. I’ll even leave it in the game for a week or so, and code right under it, which is very nicely and surprisingly possible even when you have made significant changes to the underlying class of a blueprint in C++. After a week or so, I port most of my blueprint code to C++, which is also surprisingly easy, as all the functions are identical from Blueprints to UE4 API, and blueprints give a good idea of what kind of objects you need in order to make a function call.
Inevitably, most UE4 games will end up with a few very high-level blueprints that control events that are better suited to happening and being handled by the native engine (destructibles, animations, kismet, etc.). This also helps your designers who know not much of C++ to use the engine entirely and tweak things to be the way they want, and implement things in the present, rather than waiting for the code team to finish an idea that they as designers suggested.
Finally, what I’m getting at is that there is no reasonable way to do everything in 100% C++ code, especially since Epic have authored a plethora of features for their engine that are only easily usable from within the editor. Do what feels right, and when it starts to feel laggy, port it to C++ from BP.
Hope this helps!