Check this out:
This blueprint, upon pressing T, will spawn an actor if the input comes from the locally controlled player (which is probably true anyways, but just making extra sure).
Then, that actor is sent to the server.
After a 5-second delay, a string is printed, true if that object is valid, false if not.
If you press T on the server, it will display “true”. If you press T on a client, it will display “false”.
This leads me to believe that the Actor being spawned on the client does not exist on the server, therefore it is not valid. However, an actor being spawned on the server is valid on the server (obviously).
The way to fix this? Probably spawning your actor on the server and replicating it to clients. The original actor will be available on the server and you can do what you want with it.