Need explanation for part of behavior tree tutorial

Hello, I am trying to understand behavior trees in the past couple of days and I haven’t been able. The tutorials give a general outline, but besides that, assume you just understand the rest. I was wondering if anyone who understands whats going on in this image, I would be extremely greatful. The image is in part 11 called “Make a Service” and is number 5 on that page.
Here is the link to the page https://docs.unrealengine.com/latest/INT/Engine/AI/BehaviorTrees/QuickStart/11/index.html

and the image I am looking at is number 5 on that page. I’ll also link the image:
https://docs.unrealengine.com/latest/images/Engine/AI/BehaviorTrees/QuickStart/11/fullGraph.png

If someone could step by step explain what is going on, I would be greatful, as I am stuck here and therefor not able to get any further. Thanks!

In my mind what it does is a trace every tick. The tick interval equals what you set your behavior tree to. For example 0.5 seconds.

The graph is straight forward.
It casts to the owner to get a location and then uses the location to calculate the sphere trace start and end location.
If the sphere trace hits something it checks if its the player. If it is the player then it sets the blackboard keys to the pawn and it sets where that location is. If its not the player it clears the actor blackboard variable. Which is only used later to do a check in the behavior tree.

When i did this tutorial i had to modify it because i couldn’t get it to work the way they did it.

Behavior trees got me super confused a few weeks ago when i started using them.
The way it makes sense to me is to compare it to event graphs. A blackboard is just variables. a Service is another section and would be the first segment in your even graph to run. Decorators are branch events.

If you had to create your behavior in an event graph you would have your “service” segment run first, and then have a bunch of branching events run different parts depending on what is happening.
Personally i think behavior are more effort to work with, with the only benefit being able to specify your tick interval.

Which i guess can have been done just by adding a delay node in front of your logic in an event graph.
That’s one thing i still do not fully comprehend is what exactly the benefits are because you are not passing variables between actors and their behavior trees and in some cases you are passing it from the pawn to the controller to the behavior tree… where as if you did it all in your event graph you would not be passing anything, it will all be available right there at your fingertips.

Sorry to bug everyone and you Crocopede, but I am still lost. Crocopede can you put up an event graph that does the same thing as what is being done in the screenshot? That may help me understand. Honestly, and maybe I’m not the smartest guy around, I need an explanation for most nodes and why its done like that. For example at the start Ai Con Ref is compared to nothing?? maybe and then after event receive tick why is there a cast to follower-ai? What is that accomplishing, its intersting to me seeing all this casting going on like its water which amazes me. I’ve read about casting half a dozen times and I can’t see whats happening here. Also at the begining of the event recieve task why is casting to the follower_ai_con and why is it setting Ai_con_ref its value and why is it to be part of “Actors to Ignore”, and how is this multisphere trace working to do? Why is the sphere using AI CON REF’s location and plugging it in the start of the trace an ending with 15? All I can understand is that a trace is happening from an AICON ref a to istelf plus 15 to find things? If you or anyone could go step by step in explaining that would be great. I know some out there are gonna say go read about blackboards and bevior trees its assumed you know the basics, but this is in the beginer basic tutorial for a behavior tree!!!
‘’

Basically its casting to it and comparing it to nothing because you are setting a variable to reference it. If its not set it casts … if it is it skips the cast and calls the variable you already set to minimize overhead.

Its ignoring it in the sphere trace because that is the ai controller and you dont want to get them… you want to get the player. Not the AI.
Truthfully i think the best way for you to learn is to do the entire tutorial. Make it work.

Once its working by doing exactly what they did, then only try to understand what is happening.
I made the same mistake when i first did the tutorial. I tried figuring out what was happening before i had the big picture.

Life is gonna be much easier if you have the entire picture.
Note… once i finished the tutorial and i understood what they did i changed my setup a lot. I dont use sphere traces… but line traces. I also have various other checks and casts happening because i have 3 different AI making use of the same service.

Trust me… it will be easier if you complete the entire tutorial… just follow it step by step even if you don’t know why you are doing something. Until the big picture is available. I do the exact same thing when looking at tutorials. I want to know why i am doing something… but it just prolongs understanding the why’s

At least for my brain its like that.

Yeah I know where you are coming from, but I have a temper. The further I went through the tutorial the more angry i became. i had to stop my self before bad thoughts took over my brain like wth why arent other people complaining, etc. To be honest, and I admit this juvenile, I didnt go to the very end because I would have picked up my monitor and smashed it on the ground or something. but what i don’t understand is why there isnt step by step documentation on using blueprints that would gradually take you to an advance level?

Well in all fairness it its a step by step guide.
What works for me is keeping an old LCD monitor on my desk that’s unplugged, When i struggle with something i just bash it and watch the cracks grow.
But thats last resort… i prefer to rather stab people with a short spear in the next,

lolll okay…