Sorry for the general question, what exactly are these searches and what do they do? this node is the first time I’ve encountered this thing.
It being called when search flow enters composite node. This isn’t exactly a new feature, because service was being notified about it by regular ReceiveTick event with DeltaTime set to 0. Exposing as new event just makes it more visible, and probably in near future we will disable that special 0-time Tick event call.
Services are often used to control some key of blackboard, which is being observed by decorator and controls execution flow. For example:
- selector with service setting a flag when target gets close enough
- first child node is an attack guarded by decorator observing proximity flag
- second child node is move task to get closer to target
Notifing a service during search allows it to initialize itself (in this case: proximity flag) and assures that task search ends up on proper node.
so it’s the same as event begin execute?
Similar, but not the same.
ReceiveExecute is for Task nodes and gets called after new task has been found.
ReceiveSearchStart is for Service nodes and gets called during search, before new task is found and can influence which task will be picked as shown in example I mentioned before.
So you are saying we should set default values to the flat/object the service is writing to?