ORIGINAL BUG
Steps To Observe Behaviour:
  1. Create two objects with VRC_ObjectSync components.
  2. Add a VRC_Pickup script to one of the objects.
  3. Use the new networking debug menu that shows ownership, priority and data transfer per second to check the priority state of the two scripts.
Steps to Reproduce Bug:
  1. Create an object with an ObjectSync script.
Expected Outcome:
You should be able to just mark an object sync object as Important without having to attach a dummy pickup script (and the associated dummy rigidbody)
Actual Outcome:
You're forced to add a pickup script to mark a sync object as high priority.
===
After Vowgan and I did more testing, we're getting less consistent results. I don't understand the logic for how something is Important - it seems like attaching a pickup script might help? Maybe if the syncer is enabled whilst it's in the player's view?
It'd be good to get some information on how Important/Normal priorities work and if the above (attaching a pickup script) actually makes a synced object higher priority as this is quite confusing at the moment.
===
Some more testing - it seems like ObjectSync is very inconsistent. Attaching a pickup has had the effect of actually totally desyncing the pos/rot of the ObjectSync'ed object in testing after doing a FlagDiscontinuity on the ObjectSync.
We're also seeing five-second lag on ObjectSync'ed objects in certain circumstances, generally again after firing FlagDiscontinuity on the ObjectSync.
(Apologies for this odd bug report - this is what happens when weird behaviour is observed
after
observing something in engine...)
===
We're using my pool test world to explore this behaviour: https://vrchat.com/home/launch?worldId=wrld_7c23c9c3-fa6f-40ed-8f75-776fed2eef4e - I'll add some instructions for how to use the synced pickup system for QA to take a look at if they're interested.