Download

Networking prediction, reconciliation and entity interpolation?

I am currently working on a networked multiplayer game and intend to make use of prediction, reconciliation and entity interpolation (as descirbed in [this article](http://www.gabrielgambetta.com/fast_paced_multiplayer.html)) How is this handled in UE4? Can this be achieved with Blueprint scripting or does this require C++? I have thoroughly searched through the UE4 documentation and forum posts but to no avail. Any help on the subject is much appreciated. 

Client-side prediction for movement is in if you use the CharacterMovementComponent to move your characters, for example. If you can read C++ I definitely recommend checking out the source for CharacterMovementComponent and its documentation here: https://docs.unrealengine.com/latest/INT/API/Runtime/Engine/GameFramework/UCharacterMovementComponent/index.html. I assume other movement components like ProjectileMovementComponent have similar features.

CharacterMovementComponent gives a pretty smooth client-side experience, as in I haven’t seen other players teleporting or sliding unless under severe lag. I have not tested it for accuracy though. For deciding on headshots fairly though and prevent cheating, I believe you’ll have to set this up yourself. The article you linked is a pretty nice read, by the way. :slight_smile:

thank you NisshokuZK

I’m curious about this.
I have a Character class with the default movement component as it comes from the Third Person Template (has to be a CharacterMovementComponent, right?)

so I made some tests to check the netcode capabilities.
increasing the ping to 800 resulted in still quite a smooth movement, but literally just 800ms late. no prediction/correction happened whatsoever
increasing the packet loss resulted in teleporting. at 10% of packet loss the movement was already quite jittery. no prediction/correction happened whatsoever

am I missing something here?

by the way I saw that the new UT now has a network prediction system, but when I tried using it in UE4 4.7 r3, the command was not recognized. is this a UT-only feature or will it appear in UE4 as well?

There is a nice paper and a use case from Valve that you could check too, it is mainly about shooting and bullet accuracy.