Search Unity

Rubber Banding using Network Transform

Discussion in 'Multiplayer' started by landon912, Nov 28, 2015.

  1. landon912

    landon912

    Joined:
    Nov 8, 2011
    Posts:
    1,579
    Hey guys,

    I've been playing around with UNet for a little while now and have ran into some issues. Syncing simple positions across the network smoothly seem to be impossible with the built in components, as when using the Network Simulator at reasonable latency(50 ms) rubber banding becomes apparent on both client and server. This is a massive issue mainly due to the effect being present on the local authority client also, creating an unusable handling experience. I've began to write my own position syncing method with some client side prediction, but is this an isolated issue? Is anyone using NetworkTransform with success?
     
  2. Chrispins

    Chrispins

    Joined:
    Dec 9, 2014
    Posts:
    15
    Well I personally noticed that there is no working interpolation when you try to sync the transform of an object over network, leading to very jittery movement.

    The documentation is not very good for some of the built-in UNet stuff either, so I like to think that it is still in the early stages of development. Maybe in the future updates we will have a more reliable Network Transform component.
     
  3. mikef

    mikef

    Joined:
    Apr 2, 2009
    Posts:
    57
    On its own you'l have to set the transform sync mode to "character controller" if you want some built in interpolation. Not the best solution for anything beyond a character controller, but i think thats all you get out of the box.

    This tutorial series is pretty great if you havent checked it out yet
    https://www.youtube.com/playlist?list=PLwyZdDTyvucyAeJ_rbu_fbiUtGOVY55BG
    the 2nd video in the playlist covers the basics of syncing and lerping a standard transform component.
     
  4. landon912

    landon912

    Joined:
    Nov 8, 2011
    Posts:
    1,579
    Yeah, I've already started a custom solution, I was just wondering if I had missed something completely or if NetworkTransform was as S***ty as I was experiencing.
     
  5. Chrispins

    Chrispins

    Joined:
    Dec 9, 2014
    Posts:
    15
    Apparently the consensus is that it's just S***ty, lol...
     
  6. MightySheep

    MightySheep

    Joined:
    Sep 23, 2015
    Posts:
    21
    I sync rigidbodies2D and just set interpolation in settings of the rigidbody, though i had massive latency even in lan, and it was caused by wrong Qos channel 0, didnt work with reliable, reliable sequenced was ok. It also seems that the simulated latency is much bigger than what it says, but maybe I did something wrong.
     
  7. landon912

    landon912

    Joined:
    Nov 8, 2011
    Posts:
    1,579
    This is interesting. Is the NetworkTransform really using a Reliable QoS? Hmm, should be using Unreliable.
     
  8. MightySheep

    MightySheep

    Joined:
    Sep 23, 2015
    Posts:
    21
    I don't really know, it just didn't work with NetworkTransform nor Commands until i changed channel 0. State Update should also work, it drops old packets or something.
     
  9. landon912

    landon912

    Joined:
    Nov 8, 2011
    Posts:
    1,579
    Well thanks for your advice. Now we just need to look at the documentation for it...oh. There is hardly none.
     
    outofcoffee and Chrispins like this.
  10. outofcoffee

    outofcoffee

    Joined:
    Mar 13, 2015
    Posts:
    1
    I have experienced exactly this behaviour. According to a recent official survey in the UK (http://consumers.ofcom.org.uk/news/4g-significantly-outperforms-3g/), average network latency over 3G is ~64ms and 4G is ~53ms. Even if you're going peer to peer (i.e. not including any time on a server) that's a combined latency of ~130ms for two players on a 3G network. Simulating a 130ms latency in UNET on 5.3 with a NetworkTransform is atrocious. :(
     
    landon912 likes this.
  11. landon912

    landon912

    Joined:
    Nov 8, 2011
    Posts:
    1,579
    This is what I was looking at also. I was stunned at how badly NetwrokTransform held up to any of those "reasonable latencies".
     
    outofcoffee likes this.
  12. ErebusWolf

    ErebusWolf

    Joined:
    Mar 18, 2015
    Posts:
    3
    Any progress on this? I am seeing similar terribleness in the multiplayer 2d combat game im trying to make. Using the rigidbody2d network sync with 3 players is a complete joke. The messages are arriving out of order and it's causing horrible jitter and weird desyncs. I want the lowest latency possible for my game so the I am going to probably have to work on my own custom network transform solution as well unless someone else here has found a fix.
     
    reachout and landon912 like this.