Why can't a Client character tell another character to AddInputVector?

Why can’t my character tell another character to AddInputVector (character movement) in Play as Client?
I can if possessing the character, even though input is still client.

Any attempt to directly tell the server seems to have no prediction/smoothing, resulting in horrible rubberbanding. That seems to require possessed/player controller input.

Another test is if I run AddInputVector on Tick, it rubberbands.

could be an ownership issue?

instead of having the client tell the character directly to move, tell the character to request the server itself for movement if that makes sense

CMC uses client-side prediction for movement. Moves have to come from the Autonomous Proxy. Injected server moves won’t take like you’d think.

Hmm it doesn’t say what the connection is between the player and the autonomous proxy, or at what point replication data is first picked up.

Or in other words if there’s a way to work around a character needing a player controller to have prediction. But gives me a clearer idea of why server calls don’t work.

It seems like the only route is possession.

Yes, you need a controller, UNLESS the other player is AI.
If AI, then you simply RPC the server and tell it to do whatever to the character. AI is 100% server-side… even in single player.

The only approach I can think of for client to client input handling is to RPC the server have the server get a reference to the other clients pawn, then have that Auth proxy RPC the autonomous proxy pawn. You’ll need custom events out the wazoo.

1 Like