Hello!
About 50-60 days ago, CyanPlayerPool stopped working at random on Quest, breaking my world in the process, however exclusively on Quest (and at random too).
I've been trying to fix it for a while but couldn't find the issue until now, it appears the "Owner" variable (assigned by CyanPlayerPool) may never get assigned (I'm assuming VRCPlayerApi is null when the variable is being assigned)
This hasn't been an issue in the past and only started occurring recently, I'm suspecting after one of VRChat's memory improvement updates.
I've solved the issue by brute-forcing "Owner = localPlayer" over several seconds after "_OnOwnerSet" and using "Networking.IsOwner(gameObject)" rather than "Owner == localPlayer"
I'm unsure how many worlds this issue might be affecting, afaik @Faxmashine was having similar issues.
I'm only reporting this now as I've just found the cause and solution.
Thanks for reading!