Alright, I’ve fixed the set velocity problem. I replaced the “Floating Pawn Movement” component with a “Projectile Movement” component which doesn’t seem to have the restrictions I talked about above. Setting the velocity on client and server works perfectly now.
The only problem left is replicating the Controller Pitch and Yaw. In the Pawn Blueprint the “Add Controller Pitch Input” says this in the tooltip:
It says that it will only execute if local PlayerController, so I moved that part of the blueprint into the PlayerController Blueprint’s event graph instead . It does not say that on the “Add Pitch Input” in the player controller, but it seems that is what’s happening there too:

Here’s the entire blueprint of the Player Controller:
Here’s a video demonstrating the problem:
So the problem is that only the owning client can change the controller Pitch and Yaw. It might look like the server’s controller input is being replicated properly, but that’s only because the server is sending it’s transformation position to the other clients and having them set it. I’ve made it so clients only send input to the server and the server sends back the transform position of other players(server’s player included). Since the server can’t change the controller rotation of it’s clients, the rotation sent in the transform to the clients are just the same rotation they spawned in.
Doesn anyone know how to fix this?
-Headstub


