We are seeing unexpected movement corrections sometimes when pushing one player character up against another character that isn't moving, or against other static primitives that have round features (capsule/cylinder).
Triage notes:
First things to look at a bit more deeply:
1. Verify no precision is being lost between the client-performed move and what's sent and performed by the server (could be something quantized for net serialization). This is less likely.
2. Verify consistent results of capsule sweep checks. There were a lot of improvements in the physics/collision query system since UE 5.0. Could be a bug we missed.
Create a new project from the 3rd Person project template.
Open the ThirdPersonMap.
Drop an instance of BP_ThirdPersonCharacter somewhere in the map.
Enable Network Emulation, and give the client a reasonable min/max latency. Say 50-100.
Run PIE as a client with 1 player.
Run "p.NetShowCorrections 1" on the command console. This will cause debug-drawn capsules to appear whenever your character is corrected.
Repeatedly attempt to move around/through the other character. Occasionally, you should see sequences of corrections. The larger your latency, the longer the sequences. This does not occur 100% of the time, maybe 25%.
One of the most reliable moves is to start pushing directly into the middle of the obstacle, then slowly pan the camera while continuing to hold forward input down. This will make your character slowly push around the obstacle.
(This test can also be performed with 2 players in PIE, and you can move around the other player's character)
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-198521 in the post.
7 |
Component | UE - Gameplay - Player Movement |
---|---|
Target Fix | 5.6 |
Created | Oct 19, 2023 |
---|---|
Updated | Sep 27, 2024 |