What I did is store up the snapshots in an array so there should always be two snapshots there to interpolate between, you just have to figure out how much of a delay to give the interpolation to all but guarantee that there will be two snapshots there to interpolate between. Right now I’m using TCP (I know, gross) : to send the snapshots but I’m eventually going to add a UDP layer to the network to send over the movement snapshots, and after that I should be able to decrease the latency quite a bit.
So right now there’s no extrapolation, but I’m going to implement it in certain situations like in getting hit so the client-side can guess where entities are going to be for important things like that. Right now the latency is a little bit too much for hit reactions