BehaviorTree not picking up change in one var in multiplayer

I’ve been working on this for two days with no luck. Any help will be very, very appreciated!
I have an AI in a multiplayer game. I just want it to sit at a desk, type something up, and get up and go do some other stuff. Everything is working fine except for some reason, when the typing stops the BT is not able to pick up on the DoneTyping boolean and move on.

On the 1st task in the BT is where I start the typer function. The function runs on the PlayerPawn in a client The typing function starts no problem. I’ve tried all the different function replications…multicast, run on client, run on server. It doesn’t make any difference. It runs and the typing shows up on that players widget.

On the 2nd task I’m using the same get all actors of class method to grab the boolean that lets the task know when the typer function is over so it could go to the next branch. The print string will read Client1: true. But in the function print all I get is Server: False.

Here is how I start the typer function. It doesn’t matter what I put it on…multicast, etc…I get the same result on the print: Client1: true, Server: False. I’m never able to get past that task in the Behavior Tree unless I just straight up make a task that switches the enum state. But then there is no way to wait for the typing to finish before the AI goes and does another thing…

update - it seems to work if I make two functions - one to run on server and one to run on client. But isn’t this what multicast should do? it doesn’t work at all when I do just multicast or just run on server or just run on client. so confused!