Is it possible to achieve network interpolation with Multiplayer Synchronizer?

Godot Version

4.2.1

Question

I’m using a Multiplayer Synchronizer to synchronize player’s position across the network, but I would like its movement to be smooth. Can this be achieved with the MultiplayerSynchronizer node or do I need to implement myself the synchronization and the interpolation with RPCs for example ?

Thanks a lot for your help !

1 Like

trying to do the same thing. Using gdscript physics interpolation and multiplayer synchronizer to update the position of the character controller. But if the server owns the player’s character controller the movement is all choppy and stuttery . If the player owns it’s CC then it works fine, nice and smooth, but can’t do that because it would allow the player to walk through walls if the local player removed the walls on their end.

This is not currently implemented in MultiplayerSynchronizer: Add property prediction and interpolation, and a way to capture MultiplayerSynchronization events · Issue #7280 · godotengine/godot-proposals · GitHub

It should be possible to roll your own interpolation nonetheless by having the synchronizer synchronize a player position, but having its visual representation drawn by a separate mesh which doesn’t use this synchronized position, but an interpolated form of it.