I am trying to learn and understand BluePrints but i cant find really good documentation or videos besides whats on here and YouTube that REALLY breaks all the nodes down and tells you how to use them and gives you example how they are used in a suitable course from beginner to advanced. For example how do you know what nodes you are looking for? going by the tool tips? or do you all follow YouTube videos and learn as you go? i know with BluePrints you can do stuff in different ways with macros, functions etc… and get the same result, but is there like a procedure you need to follow like you have to have this node then that node for the script to work? or it does not matter what order these nodes have to be set up? this is a total noob question but after “Custom Event” node how do you know what nodes fire off after execute? i assume one then the other? and after each node executes does it carry the information from the previous node to the next?
Blueprints is a programming language. Despite being visual, it has all the features of a classical (typed) one. Blueprints are implemented in C++, which is an object oriented language, so they also inherit many paradigms from it (e.g. parent and child classes etc.) To learn Blueprints you need to become familiar with execution flows (the white lines) and data flows (the colored lines). You need to understand what a variable is (set, get) and possibly learn some control structures like branches (aka if statements), for loops, select and few more. Start to note them in the tutorials you are following and understand how and why they are used.
This said, as a beginner, there is a key concept to understand. Unreal Engine is event driven. This means the engine does most of the heavy lifting internally and notifies you about certain events happening, giving you the chance to decide how to react to each one.
One example is the On Begin Play event. It notifies you that this actor is about to start playing after having been added (spawned is the proper term) to the game. So what do you want to do at that time? Maybe set its initial health level. You do that by connecting your code to the Begin Play event.
Another example is an input event. This notifies you (and your player character) that the player has pressed a key. What do you want to do with it? Maybe move the character one step forward. You do that by connecting your “Move one step forward” code to that the input event.
There are uncountable examples I could make, including events that are used for example for multiplayer games or for animations, you name it. Pretty much everything starts with an event you need to respond to. Events are colored in red, so you can recognized them right away. That is where you should start from when reading someone else’s code.
Hope this makes sense and helps you progressing. Have fun learning Unreal Engine, great choice!
Mathew Wadstein (https://www.youtube.com/c/MathewWadsteinTutorials) explains lots of nodes in details with examples. I learned a lot from this channel when I was just starting with the engine.
how do you know what nodes you are
looking for?
That is a problem sometimes. There were a few times when I spent a few days figuring out how to do something I needed and created a complex node setup to reach my goal, and then after a year it turned out there was a single node all along that did just what I needed in one single step. You live and learn.
it does not matter what order these
nodes have to be set up
The order matters of course. You need to keep track of your variables. It’s like in math: sometimes you can swap the values, like in multiplication, sometimes you can’t, like in subtraction. You need to break each function into small parts and determine what you need to do first.
after “Custom Event” node how do you
know what nodes fire off after execute
There’s always an execution chain represented by white execution wires. They are all executed in sequence, and the next is executed after the previous is done with its functions. But pay attention to the nodes with multiple execution pins, like loops and stuff.
after each node executes does it carry
the information from the previous node
to the next
Depends. Some nodes have output data pins, some don’t, and you can choose to use them or not. Keep in mind that nodes that don’t have execution pins (white arrows) don’t modify data. E.g. if you have an Int variable with the value of 3, and you want to add 2 to it, you need to set the said variable after the addition, otherwise it won’t be updated. If you’re familiar a bit with programming, it’s basically the same: you can’t say x+2, you need to say x = x+2 (or x += 2).
Mathew Wadstein’s channel has been incredibly useful. I downloaded his channel on a hard drive since I often work offline. Hope he doesn’t mind!