I noticed
VRCObjectSync.Respawn()
can cause NullReferenceException and halts the udon, if its GameObject is inactive and never activated once.
It seems caused by not having it's respawn information, which seems declared at its
Start()
.
(
VRCObjectSync.Respawn()
will send the object to the first position the object activated. Moving inactivated object will affect its respawn position.)
There is no way to avoid its exception safely. We need to check to use if the object is active, but it means inactive object should not use
Respawn()
.