[Reliable Sync Feedback] Please add a way to sleep a continuously synced object
tracked
bd_
Currently, "Continuous" mode syncing syncs 100% of the time. However, in many cases, there are idle periods in which continuous syncing isn't needed, followed by periods in which smooth syncing is necessary.
The VRC Object Sync component does this exact behaviour, going to zero bandwidth usage when not moving, and having the ability to do this for UdonBehaviour variables would be very useful. This is particularly the case when the UdonBehaviour is attached to an Object Synced object; right now, this results in greatly increasing bandwidth usage as the Object Sync data is no longer able to go to sleep.
Log In
Momo the Monster
marked this post as
tracked
bd_
As a concrete suggested implementation:
Add a "SetSleeping" method to the Udon Behaviour. When true, the (continuously synced) component will sync only if RequestSerialization is called (in which case it syncs once, or a small number of times, an unspecified time after invocation), a player joins, or an attached Object Sync component is moving or held. When false, the component will be synced frequently and periodically.
On ownership change, SetSleeping is reset to false. User code can reset it to true in OnPreSerialization if desired.
bd_
Actually, this look a lot like dynamically switching between Manual and Continuous, so it could also be a SetSyncMode call.