For the other Udon devs out there, I probed the limits of Udon's synced string variables and got some results that may be useful generally: For syncing arbitrary bytes, Udon is roughly as fast as a 56K modem in terms of throughput, if you pack your data into 8 UdonBehaviors each with 2 synced strings and update them every 200ms. You can read the details of the experiment here if curious https://ask.vrchat.com/t/how-to-sync-with-udon/449/4

In practical terms this means that circumventing the shitty "sync position" behavior with a robust custom solution is feasible, for games with lots of rigidbodies, e.g. mahjong. There's probably other interesting things you can do with 56Kbps of bandwidth too, like slowly transferring texture data between clients perhaps if you want to accurately sync drawings, or sending photos. Note that the min latency between clients is around 200ms though, so you're not going to, e.g. make a great ping pong simulator in Udon.