I find that in almost all of my tasks within my behavior tree, I’m trying to grab the currently controlled character. Is it common / best practice to just grab this once and store it in the blackboard? It seems like it would save some processing because I don’t have to keep grabbing the generic character and casting it to my own character class.
Oh god, I’m dumb. I just looked at the supported variable types for blackboard and all it allows me to add are the basics:
bool
class
float
enum
string
object
int
rotator
vector
(etc, etc).
So I wouldn’t gain anything by storing the actual character within the blackboard because it would have to be stored as an object and then I’d have to cast that object into the specific character being controlled. What a disappointing limitation of blackboards
Yep each character essentially creates their own blackboard when they start. It should also automatically create a blackboard key for self.