Nah it’s only solution that expand template to the MP i have lag issue too sorry for that:(
Is this still the “only” way to do it now that we are in 2021 with 4.27? :0
https://www…com/channel/UCTBmVaSTcfaBcbefbMqvKaw/videos Here is the solution if you want with mouse is held + https://www…com/watch?v=RUSIsEEOGuE
Here is propably the right way https://www…com/watch?v=7dmoYcsTEdM&ab_channel=Kekdot
There is a way without the proxy and AI controller, using 4.26.2.
For the Character u can use the default character blueprint with just enabeling Use Acceleration for Paths found in the Character Movement Component → Nav Movement section.
In the PlayerController i have follwing setup:
The “RPC Move to location” looks like following:
You have to call Simple move to location on both, the client and the server for a very smooth experience and working client side prediction. With the proxy i had jittering on the player even at very low pings without cranking up the update rate to an enourmous rate. With this method i get it to work smooth at even 500ms ping.
In the Project Settings it is important to enable Allow Client Side Navigation under Engine → Navigation System.
Time to solve the issue once and for all.
This is how it is supposed to be done:
1, Go to project settings and check on Allow Client Side Navigation.
2, Go to the CharacterMovementComponent, and check on Use Acceleration for Paths and Use Fixed Break Distance for Paths, and set Fixed Path Break Distance to 50.
3, Just use the SimpleMoveToLocation or anything on the CLIENT ONLY, the character movement component will take care of the server movement, correction, and validation, just like the FPS control does.
So long story short, if the navigation is happening on the client, and the movement component is updating it’s acceleration based on that, then it will do the sever side replication and validation just like a WASD input.
TIME.
Have you tried this with network emulation enabled? Add any ping into the equation and it becomes unusable, too much rubber-banding on the client. Try it with the “average” and “bad” presets.