Skip to content

Clientside jitter when rotating NetworkObject with a FixedJoint. #1070

Description

@Woljif

Unity version: 6.3 LTS (6000.3.17f1)

Fishnet version: 4.7.2R

Discord link:
https://discord.com/channels/424284635074134018/1034477094731784302/1540180552454512640

Description:

If two rigidbodies are connected together via a FixedJoint component, non-host clients will perceive significant micro-jitter when rotating the object with the joint.

Replication:

  • Take an empty gameobject, and assign it a FixedJoint component. This will automatically add a rigidbody component to the gameobject as well.
  • Create a second gameobject and make it a long cube. Add a rigidbody to the second gameobject and assign it as the connected body of the FixedJoint.
  • Ensure both of these objects are networked and spawned, adding NetworkObject and NetworkTransform components appropriately. Do not enable prediction.
  • Add a NetworkTickSmoother to the mesh object of the connected body and set it to detach on start.
  • Ensure that the joint and block are both server-authoritative, and that the block is set to kinematic on clients, while non-kinematic on the host.
  • Rotate the joint left and right as the host, and view this rotation in a second editor instance as a client. You will see significant micro-jitter not present on the host side.
  • You may play around with the settings in the NetworkManager, NetworkTickSmoother, NetworkObject, NetworkTransform, or Rigidbodies of either object, you will experience the jitter regardless of any settings.

Expected Behavior:

I expect that the rotation should be smooth, even if not perfect, on the clients end, as the host is merely rotating the object with a joint and updating the position for the client. This is the exact way I did this in Unity's NGO, before switching to Fishnet, and I had no jitter there.

Media:

2026-08-20_22-00-46.mov

JointBugPackage.zip

The sample already has everything set up to test. Just enter play mode with two instances. One as the host, and one as the client, then rotate the joint using your Q and E keys as the host, and view said rotations as client.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Incomplete IssueRequired information is missing. See response for more information.Waiting For InformationNot enough information has been supplied to resolve this issue.

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions