Smooth Sync: Sync your Transforms Smoothly across the network

That has no relevance to the context of your plugin and you’re confused.

Every client and the server each bring up a world. And for each actor spawned on the server, a copy is spawned on each client. The actor spawned on the server is referred to as a “server owned actor” meaning that when the client calls an RPC on that identical actor it is called on that actor on the server.

You’re setting the owner to server’s player controller 0 believing that it somehow makes the server own it and it simply does not. Player controller 0 is the player controller of the first player who joined the game. The first player who joined the game owns the actor using your plugin’s component. That is the player that gets synced. No one else does.

If you set ArbitraryActorX to own another actor on the server, that ACTOR owns the object, not the server. The actor needs an owning connection to call RPCs.

You can not make a solution for Replicates Movement that uses RPCs because objects that use replicates movement are not necessarily (and are rarely) owned. x10100

At the end of the day you are claiming your plugin does something that it does not, even after being told this.

  1. Doubt it
    2 & 3 Irrelevant