In order for a remote client to call a Server RPC, that client needs to own that actor. It works when you have the clients character call a Server RPC that trickles down to the actor on the server side because the client owns the character actor. There’s no other way around it unless you have the server and client change the ownership of the actor in question to the client. It’s done this way so nefarious clients don’t try and cheat by calling functions on actors they have no business in calling.