World's weirdest replication bug ever

Hello, i’m trying to replicate a freelook offset as a protected member of my player character. Doing this has proven to be the world’s most difficult challenge ever, however. If anyone has more technical insight as to what is happening, it is much appriciated as i am completely flaberghasted.

Basically the problem:
C++ (debugged it, works perfectly server side and client side)
player starts freelooking → Makes client side rotator for freelook → sends rpc to server to replicate member to non owning clients only(via doreplifetime)

BP
Tick event → CL_tick (plain event non replicated at all) → has authority gate → push members into animbp event(plain event non rep or anything) → push replicated member freelook offset into animbp as local non replicated member :cross_mark:(here it goes wrong) → applies rotational difference to head bone in the anim graph

As described above, upon debugging, the player’s replicated member is correct on owning and non owning clients and the server 100% perfect. when debugging non owning client’s anim blueprint it says the rotator is 0, 0, 0 so it is never set.

This is where it gets extremely odd and unpredictable. If the push to the animbp is moved to the plain tick event, it works. if the push is moved in the tick event behind a authority branch it doesnt work, if it is moved behind the event CL_client only tick event, it also doesnt work!!! mind you, before this there are no has authority branches and the event is a plain normal event without to owning client only replication or anything!!! and it gets even weirder, so based on this you may think the update anim values event doesnt trigger at all on non owning clients, but it does because crucial members are pushed into the animbp from it that deal with walkingspeed, tactical anims etc and these work perfectly!!

I have bandaid fixed it by just putting it into the tick event which is not great but it works. if anyone has any idea’s as to what the hell is going on please tell me. I described it this way to make it as brief and easy to read as possible but if needed i can share screenshots.