Where is the best place to implement detailed NPC behaviour when using Behavioural trees and Task ?
Within the Blueprints, and Sub components of an NPC Actor, or within the Tasks (Called by Behaviour Trees) ?
I typically I like to encapsulate the detailed behaviours within as Evet threads within components, that I can then reuse amongst many NPC’s Actor Blueprints. I would like to use BTs, but Tasks need to end (Call Finish). If I encapsulate most of my functionality within Events of my NPC actor and its components, how do I call into these Events, from BT Tasks whilst ensuring that I have a return completion thread in order to then continue to call Finish ?
Another query is that I originally perceived an AI Blackboard to be a repository to be used amongst many AI Actors. e.g the Strategic state of the game (Defensive, Aggressive, Losing etc) But the Unreal use of Blackboards seems to be tied against a Behavioural Tree, and upon an instance basis. E.g to hold data specific to that NPC instance.