VRCObjectSync bouncing on Android devices when further away (gravity not disabled for remotely owner objects?)
tracked
Puppet~
As the title says, this bouncing happens on android devices, but not on PC.
My Setup:
My object is non-kinematic, and uses gravity to dangle down on a configurable joint. On the remote clients, I simply disable the joint so I can let the sync take over and not interfere with the joint.
The issue:
Things work fine with this setup on PC. However, on android, the object seems to want to fall down using gravity and then immediately snaps back up repeatedly. When I'm up close, it seems like the refresh rate is high enough to keep the object up without the bounce/jitter. But when I walk further away it immediately starts to do the "falling down and teleporting up" again.
Again, PC works fine so I assume this is some kind of bug? Maybe the gravity doesn't get disabled properly on remote clients?
My solution has been to give it a slight up force on the most egregious case (floater on water) and that seems to look okay at least. Let me know if I'm understanding anything here wrong.
Log In
This post was marked as
tracked
Puppet~
Okay, so I found some relevant tickets:
1.) SetKinematic/SetGravity is inconsistent. This happened to me too and I had to set them in multiple places as failsafes just in case.
2.) Disable VRCObjectSync and then enabling it again seems to cause trouble in general. When I enable the object and I want it to move to a certain position, it seems like values are being received and overwrite whatever changes you did while enabling it. It would be cool if the values set after we take ownership would take priority over what we receive later.
My issue seems different, but I feel like they might be connected.
Seems like the state handling on VRCObjectSync is faulty when you disable the object and then try to enable it again? It would be cool if the object sync would behave more consistently in general.