Skip to content

NetworkTransformReliable is buggy when assigning/releasing client authority #3877

@vodolazov

Description

@vodolazov

Describe the bug
Assign and release client authority causes NetworkTransformReliable to flicker and leave object transform out of sync. Not sure about SERVER-CLIENT config, but the bug is prominent in HOST-CLIENT config.

[IMPORTANT] How can we reproduce the issue, step by step:
Please tell us how to reproduce your issue, STEP BY STEP, with one of our built in examples.
-> Run HOST and connect CLIENT to the HOST
-> On HOST assign client authority to and object
-> BUG!!! On CLIENT the object flickers - momentarily jumps to a weird place and comes back
-> Move the object on HOST
-> Transform is in sync on CLIENT
-> Release authority on HOST
-> BUG!!! The onbject flickers again on CLIENT

Another sceneario:
-> On CLIENT -> assign authority and start updating transform
-> On HOST the object is in sync
-> On CLIENT release authority
-> BUG!!! On CLIENT the object jumps to a random location. This is not deterministic, but happens very often

This problem makes NetworkTransformReliable pretty useless in HOST-CLIENT config where authority used to manipulate objects transforms from client side.

The bug can be addressed by changing NetworkTransformReliable to NetworkTransformUnreliable, which works as expected.

Expected behavior
Setting client authority must enable transform propagation from client to server without going out of sync randomly.

Desktop (please complete the following information):

  • OS: Windows
  • Build target: UWP
  • Unity version: 2022.3
  • Mirror branch: 89.8.0

Additional context
I think the bug is present is HOST-CLIENT config. SERVER-CLIENT config is likely not affected.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions