Hi all,
I’m fairly new to replication in UE.
I’m trying to connect two clients together with a listen server. I’m able to spawn destroy stuff no problem. But when it comes to the visual representation of my pawns, it seems like the replication only happens from server to client and not client to server.
Here is a video demonstrating it with ugly view frustums: networking - YouTube
The client is on the right and the listen client-server is on the left.
My pawn blueprint looks something like this:
As you can see on the right, both my components are marked as replicate, and that seems to be enough for one way, but not both! Of course, it’s the same pawn blueprint on both client and server.
Am I doing something wrong?
Thanks for the help/tips!
I am not quire sure what am I supposed to see but I think it is more related to replicating the control /axis events rather than the component.
I would suggest using the built-in playercontroller and setting it up to replicate properly. You could look for answer searching for keywords like “replicating controller” and so.
Networking is quite difficult topic, so give yourself time to understand it and look for already build samples and read the docs about it. I know, it is heavy.
Thanks a lot for those wise words, you’re right, I’ll do that 
@MadreDeDios77 did you ever find a solution to this? I am having the exact same issue.
Replication is supposed to happen from the server to the client, not from the client to the server.
Getting information from the client to the server can be done with RPCs (aka replicated functions).
For RPCs to be correctly executed on the server, you need an Actor that is owned by the client (e.g. PlayerController) and then call a server-RPC.
The pawn itself should probably be owned by the server, so the server has the authority over everything the pawn does (also good to do some validation here). You would then provide inputs to the pawn via server-RPCs called in your PlayerController.
Replication is supposed to happen from the server to the client, not from the client to the server.
Getting information from the client to the server can be done with RPCs (aka replicated functions).
For RPCs to be correctly executed on the server, you need an Actor that is owned by the client (e.g. PlayerController) and then call a server-RPC.
The pawn itself should probably be owned by the server, so the server has the authority over everything the pawn does (also good to do some validation here). You would then provide inputs to the pawn via server-RPCs called in your PlayerController.