1. Create a PlayerObject with a VRCObjectSync on it
  2. Move it
  3. Check saved data (can only with clientsim here)
It seems like a lot more data is saved than necessary. An example:
{
"Position": {
"T": "V3",
"x": 0.5252968,
"y": 1.590979,
"z": -2.009602
},
"Rotation": {
"T": "Q",
"x": 1.541764E-08,
"y": 0,
"z": -8.727196E-11,
"w": 1
},
"Velocity": {
"T": "V3",
"x": 0,
"y": 0,
"z": 0
},
"IsKinematic": true,
"UseGravity": true,
"Discontinuity": "not available",
"DiscontinuityCounter": "not available",
"WasSleeping": true,
"Time": 12.67402,
"HeldInHand": "not available"
}
I don't think attributes such as HeldInHand and WasSleeping should be persisted. UseGravity and IsKinematic are reasonable to store, however.