Hi there,
I’ve been pulling my hair to fix this problem.
So, I attached character to vehicle and possessed with no capsule collusion, disabled character movement and set check to always relevant on both character and vehicle then i simulate physics of vehicle on server.
If all client are within net cull distance squared (NCDS) everything works fine.
But when other client_2 is out of NCDS range and possess vehicle and then drive it to clint_1 NCDS range then physics looks broken to client_1 but on client_2 still every thing is fine.
If I don’t attach character to vehicle then everything works fine.
If I check always relevant to both vehicle and character (Not During Game Play) then also everything works fine.
What I tried,
disabled tick on character, Deactivate character movement component.
attach character to vehicle on server then multicast it.
set simulate physics on server then multicast it.
Get and set actor transform before any attachment then also multicast that and tried attaching it.
So I found out that problem is of network relevancy.
If I player is always relevant and making vehicle network relevancy to true to always relevant during game play than vehicle doesn’t jitter.
Now is it best practice to make player always relevant for battle royal? Doesn’t it decreases network speed?
i found solution after banging fingers to F**in keyboard.
Problem was in my node order.
So my mistake was, I fired run on server event then I did multicast to remove character collision and set character movement disabled then on same run on server event i set network always relevant to true for both character and vehicle and then attached character to vehicle.
Solution:
Never do multicast call before any server event. I just change event call order to first set network always relevant to true for character and vehicle then call multicast to remove collusion. I still don’t understand why do i have to do it like that but it solved my problem.
If anyone care to explain me, please i would love to know why i do need multicast to disable character movement and remove collision? Why i cannot just call it on server ?