This is the whole “Spawn a Pawn” Thing, including the client sided BeginPlay for the pawn (to set camera, and later colors…)
Self_Pawn is the ref variable of the spawned pawn. It is replicated with RepNotify.
An Enhanced Input Mapping Context is added to the PlayerController, via client’s BeginPlay
The Problem is, that I can control the host Pawn (even if it jitters as hell on the client screen)… but the client Pawn can´t be moved… but the input is triggered… I printed a hello behind it…
The Pawn is of Class “Character”.
Nothing touched in the CharacterMovement component. Actor is replicating and always relevant.
My Questions now:
Why is the host Pawn moving, but the client one not?
Why is the replicated movement jittering as hell on the other screen’s side?
(Playing tested in standalone only… cause of servertravel…)
Not totally sure but I think Replicate Movement on in character defaults should be enough, and you don’t need to send input to the server?
I’m guessing the jitter may be the server and client not matching up. It’s being told multiple things.
the client is not moving the Object. I send the Input Vector to the server, that is then moving the Object.
(no AddMovementInput on Client side)
Replicate Movement is true… since its just a fresh generated Character Blueprint, i really touched nothing in the class settings or the CharacterMovement Component.
edit:
same problrm if i do Movement first on Client, then on Server Side.
Still no luck on the “joined client can’t move anything” front…
Hmmmm… I forget exactly but I’m pretty sure character movement replication is just checkbox somewhere. It might need another one. But I know I have it setup without needing things like “Execute on Server”. Since character movement is so common.
Ok… I fixed the possessing Problem…
Now… there is still the laggy movement problem…
Made this Video to show:
It´s smooth on current focused client side… but the other one is jittering around… as if there are really low fps
Edit:
I set the option for “Use less CPU when in Background” to false. Still the fps on the background standalone window drop to around 1-15… while the focused one got 120+…
Means… same as before… no change…
with the help of some people from Discord and Whatsapp, i found the reason for the lagging of the unfocused window.
UE splits the FPS on the Playercount and tries to keep the focused Window stable.
This is a quiet unlucky feature for standalone windows… but ok for PIE…
i managed to make the effect less noticable by setting MaxFPS to 65 and disable “Use less CPU when in Background”
It’s nit a perfect solution, since the unfocused window still drops to 25-30 FPS… but more workable on testing replication…
Even if the project is not the same, the video I prepared on this subject may be of use to you. Honestly, after 1 weeks of work, I think I’ve solved a lot of problems. Especially the flickering and lag issue.