frustration overload!!

Hi guys i have been trying to learn unreal now for about 2 weeks i had an account a few months ago but have only been actively trying for the past maybe 2-3 weeks
i have followed the third person tutorial as well as a few others and some general messing around . every time i think im getting soemwhere and decide to try something for myself i fail (badly) im currently trying to add an animation to my character it serves no purpose but i just wanted to try and do it without any help … but i cannot seem to wrap my head around it . i have a very limited programming background and blueprints does not make sense to me for example if i wanted to have a mouse button perform an action in the language i used to use (GML) i would do something like

create event < this happens when the object is created

ball = 5

step event< this is the same as unreals tick

if mouse_check_button_pressed(mb_left)
{
instance_create(x, y, ball);

Now the simple fact is im not an intelligent guy and learning is very hard for me . so i was hoping to approach unreal with a basic knowledge of how programs work and apply that to the blueprint system and well i have been left feeling quite stupid .I appreciate that unreal is a much much more powerful and professional piece of software than gml but assumed that some structures would play out in a similar fashion something like

[if this]-------[do this]----[else]----[do this] OR [if this is true] && [this is true] etc etc

im not asking for unreal to make my job easy a good start would be if you guys could give me some idea of the following

where and how would i create a variable inside unreal

how and where do i call for that variable inside unreal

what does an IF statement look like in unreal

are all variables global? or private?

lets say i wanted to create an actor at my feet when i press my mouse button what would be the process

in gml i would first initialize the variable in the create event by saying something like ball=0 meaning that the ball is not yet spawned

in the step event i could then have a mouse click set the variable ball to one

and also in the step event i could say something like

if ball>0
ball =1 this stops the variable ball going above 1

also in the step event i could put if ball==1

create instance ball at my feet

then to destroy said ball i could use
if ball =1 && mouse click right mouse button destroy object ball

else display message

“there is nothing to destroy”

i hope i am making sense im trying to relate my previous experience with my new love that is unreal but i am finding it very difficult i followed a few tutorials but never realy understood what it was that i was doing i simply copied the guy .

In the blueprint, variables are created on the left hand side (always default as a bool). In order to call that variable you can either drag it from the left hand side where it was created, and drop it in the event graph, or you can just right click the event graph and type in your variable name to find it (generally either set or get).

All variables are global in a sense they can be used anywhere within that blueprint, it gets a little more complicated with blueprint to blueprint communications though, so in that sense they are private to their own blueprint.

An IF node in Unreal is the Branch node (honestly have no idea why its called this) and all the other operators are what you would expect.

In order to create an object (an actor) when clicking the mouse button is as simple as opening your player blueprint, going to the event graph, adding a OnMouseClicked node (mouse 1, mouse 2, etc) then linking that event node to a Spawn Actor at Location node. You have to give the Spawn Actor at Location node a few inputs, such as the location you want to spawn (you can just get the players world location and plug that straight in) and the actor you want to spawn, which would be your ball blueprint.

In order to destroy your ball, you can simple just call a Destroy Actor node and give reference to the spawned ball.

Thank you so much !!!