Replication - accessed none solved but why?

In my player controller, I create an object (actor component), I’ve written it so it uses a custom event that runs server-side, i.e. from the PC it calls a function spawn in gamestate that runs “execute on server”. If I run 3 clients all my clients see the new object. excellent.

Next what I do is I have an event, running on gamestick every X world delta.
On this event trigger I increase the scale of the actor. I run this logic in gamestate, and then set actor transform\scale using multicast.

This updates the scale for all the clients.
The problem is I get an error also…

access none when trying to read property of my actor.

I fixed it by checking if the reference to the actor is valid which resolved it, but I’m not understanding why ? and thus I’m not sure if I’m going to have weird consequences later.

Did the actor move very far that it become irrelevant?

There is relevant base on distance to preserve bandwidth between client and server.
This is the default implementation of replication graph.

You can test it by setting bAlwaysRelevant in Actor class.

Some functions executing on server will return invalid and throw up an error because the server is incapable of referencing some variables that don’t actually exist there. It is running the event, but when it’s the server’s turn it says accessed none which can be resolved exactly with what you said with the IsValid?.. This is true for widgets especially. You can bypass certain things like this by using a branch and asking if it “IsDedicatedServer” if true, you can go around that function and continue operation, if false execute it as desired or just use “IsValid?”…