[0.15.0.0] Precise scaling of nearly all placeable objects causes desync

The scale of many objects is desynced between host and people who join. I’m posting because the last update said it had fixed the “item scale rounding desync issue” - I assumed it was referring to this, but it still happens, and has for at least a year. It is especially noticeable at lower scale values. This makes building tiny rooms a real hassle, as if you want to set an object to a small scale, you have far fewer options. It also means many doors are broken, especially smaller ones - because they’re scaled precisely to fit a doorway. It can also make items on shelves either hover above or sink into shelves if the shelf is desynced.

Steps to Reproduce

Requires two people, person 1 (host) and person 2 (joiner)

  1. Person 1 opens their condo, and sets some items (I used baobab grandidier, as they are especially large and therefore easier to see when set to small scales) in a line to scales 0.05, 0.1, 0.15, 0.2, 0.25… So on, as many as you need.
  2. Person 2 joins and observes the items.
  3. Person 1 and 2 compare what they see.

What I expected to happen

For person 2 to see the objects the same way as person 1 does.

What happened

Scale gets desynced. It doesn’t happen for canvas items (cubes, basic “canvas”, walls) but it does happen for workshop items, trees, plushies, doors, shelves, trophies, and probably more that I haven’t seen or can’t currently remember. Suffice it to say it seems to happen to nearly all objects. When an items scale is set to any value aside from a multiple of 0.1, people who join will see it as a different size. Specifically, it rounds it to the nearest multiple of 0.1. 0.05 scale becomes 0.1, 0.15 becomes 0.2, so on.
To people who join, the scale will look different, but the physics stay the same. This causes their view to jitter back and forth when they touch them.
Note that this only happens if the items are edited before the person joins - if the scale of an item is changed while people are present, they will see the correct scale.


Notes / Media

How host sees a line of trees, with scale values marked:

How a person joining sees that same line of trees. Note the visible rounding:

How host sees a door. The door is set to 0.15 scale, so that you can just squeeze through with tiny potion.

How a person joining sees it:

The gizmo for the door that host sees when editing it:
Host_doorgizmo

The gizmo that someone joining sees when editing the door:
Joiner_doorgizmo

Also, a bonus one, showing that canvas cubes work. The gizmo for the top cube of the doorframe from host’s view:
Host_cubegizmo

And from joiner:
Joiner_cubegizmo

11 Likes