Brand new to Unreal Engine. Not a fan of visual scripting

Hi all, I have been making games as a hobby for well over 5 years now, but am still at the intermediate-novice stage. I started using pure code libraries such as libGDX (java), XNA (c#) and some examples using native code for mobile development and c++ windows-console apps.

I then used Unity for many years and made many part-finished cool games just for fun. But I did run into lots of limitations and found myself simply learning the Unity API and waiting for new features to explore them. I am particularly disappointed with the network-gaming solutions they push (ie. They seem to mislead members to learn how to easily create multiplayer games but then at the end of the learning process you realise you are fully reliant on hiring their servers at high cost. They don’t tell you in any detail at all how to create a master server program you could for example run from your home pc or another cheaper server solution).

I realise I could (and in fact have, with great difficulty) build my own network gaming solution. But after doing this, it made me want to finally make the switch to Unreal.

OK, so never have I used visual scripting other than when making materials in apps such as Blender. I admit, I hate it. I am used to following code line-by-line and seeing declarations in code and following how functions are invoked etc.

When I watch ANY tutorial about UE4 all I see is people creating small c++ functions and variables and then making them into complex nodes in the Blueprints window. When i see the end result, I always think it was bloated and unnecessary and why did they not just do that with some simple c++ classes.

**TLDR: My question: **Are there any functions or any type of functionality that I am not able to access in the Unreal API in C++ code , that I would be able to hook up to from Blueprints?

I’m so new to Unreal that I don’t yet even know how to hook into the built-in Input handler for example. I am going to learn it this evening, but hopefully without the use of blueprint.

(Apologies if I have posted this in the wrong forum section. Maybe this is better suited to the General Discussion of something??) - I don’t want a biased opinion about how Blueprints are easier because that is subjective really)

Disclaimer: I don’t use C++ in UE4… But my understanding is you can use it for everything. But most choose not to, especially regarding UI / Menu work etc… Iteration time is also slower from doing everything in C++ vs BP. So what people do is create core code in C++, and then expose it to BP for testing / tweaking etc…

Thanks for your quick reply. I think I will also certainly make use of it when I get round to making nice UI etc. But from the tutorials I watched on Unreal website (and some paid ones from Udemy) they seem to use it extensively even for simple things such as character movement or sound effects. Maybe I am overthinking this, I should probably just roll my sleeves up and try both methods and see what I think afterwards

Download the strategy game example in learn section from launcher.

Will do mate! Really excited getting to learn the engine… maybe i will also learn to love blueprint :smiley: . Link for future reference: Strategy Game | Unreal Engine Documentation

I think most C++ programmers think they will hate Blueprint because they have had a bad experience with visual scripting tools in the past but when they first install Unreal they realize that it is actually a strength and not a weakness to use C++ and Blueprint together.

If you come from Unity and you work in a team you could think of Blueprint as Unity Editor scripting on drugs. Instead of you having to sort out every problem for the non-programmers using Blueprint they can setup logic in Blueprint the way they want it while you work on specialized functions that do calculations or the overall architecture of the game. If there is something difficult they can’t accomplish you create a function in C++ and expose it to Blueprint and they can use it where they need it.

Blueprint is very similar to C++ but it has its own quirks that will confuse a C++ programmer. For example the Event Graph can execute latent function with delays but previous non-pure functions return values will remain in scope.
You have less control in Blueprint since it is built for usability not performance

Even when you just as a programmer want to do some prototyping you should use Blueprints since it is just quicker since Blueprint cuts some corners that you otherwise have to do in C++ and the compiler is a lot faster.

The first thing coders struggle with is realizing how Blueprint inheritance from a C++ class work.
It’s easy to forget that the Blueprint is a generated binary asset.

And how does that work exactly?