I was working on a part of code in which a service in a behaviour tree triggers a function in an animation blueprint.
The blueprints are connected but through quite a few other blueprints, to be specific:
BT_Service -> AI_Controller -> Pawn -> Animation_BP
So basically there are 2 approaches (i know of) to tackle this “link” between the two blueprints:
- Each intermediate blueprint (AI_Controller and Pawn) have a function that pass on the information/functionCall.
- Use a few gets and casts in a row in BT_Service itself to find the Animation_BP to call the desired function directly.
From good practices/efficiency/scalability points of views, what are good arguments to choose for one or another? Maybe there are better more clever ways of solving this issue? Right now i use option 1, but for no particular reasons! I suppose the same reasons one can come up with here also apply to C++, if not why?
Thanks a lot!