Issue With Actor Ownership

Hi, the only client that can call “Run On Server” on an actor, is the client that owns the actor. By default the client only owns its player controller and its possessed pawn.

You can set new owners only on the server via the “Set Owner” node, but in this case I would not do this.


Basically you should view the client most of the times only as Monitor + Input, but no logic. All game relevant logic should happen on the server.

So when the client receives an input from the player to catch the ball, it directly sends an RPC to the server and the server then does all the logic (so client only handles the input but not the logic) and since everything is replicated the client will then see it.

And of course you would need to put all the player input either into the player controller or into the possessed pawn.

1 Like