DNController - Server authoritative movement system with client side prediction & reconciliation

DNController - developed to make the movement system in fast-paced multiplayer games more responsive and more resilient to cheating.

DNController processes player movement on the server side based on inputs sent by clients. Instead of trusting client-reported positions and forwarding them to other players, the server receives only the input data (such as pressing the W, S, A, or D keys) and uses that to simulate movement internally. The resulting server-validated position is then broadcast to all clients. Thanks to this approach, hackers can’t simply modify their position to fly around the map or move through walls.

However, for example, if a player presses “W” to move forward and has to wait for the server’s response before seeing any movement, the game would feel unresponsive.

That’s where the second part of the system comes in: client-side prediction and, when necessary, reconciliation. Both the client and the server use the same movement code. When the player presses a movement key, the client immediately applies that input locally to show instant feedback (the character moves forward right away).
At the same time, the input is sent to the server.
Once the server processes it and sends the resulting position back, the client compares its predicted state with the server-validated state.
If there’s a mismatch, the client corrects itself to match the server’s version.

When the game client isn’t modified, such mismatches only occur during network issues. (Our demo allows you to simulate poor connection conditions to observe how DNController handles them.)

This approach is widely used in modern fast-paced multiplayer games to achieve both security and responsiveness. DNController is a Unity3D implementation of this well-proven method.

DEMO COMING SOON.

DNController
Supported unity versions: Unity 6.0 and newer.