Host Enabling a GameObject Containing Physics Objects Causes Physics Explosion for Other Users
tracked
Enverex
This applies specifically to worlds where areas are manually culled by enabling and disabling those parts of the map. For simplicities sake I'll refer to each part of the map that is enabled/disabled like that as a "zone".
I'm seeing an issue where when the instance master enters a zone, physics will go absolutely crazy for anyone already in that zone (except the master) for a few seconds. The amount of time those users lock up while everything goes crazy depends on the amount of objects. It seems to work out roughly half a second per 30 objects or so. The objects move like the world just exploded also drops those players FPS to 0 during that period.
After a few seconds, the issue will suddenly resolve itself and all items will teleport themselves to their correct location.
This issue doesn't occur if the instance master is the first person in the area. The issue also doesn't repeat, so as long as the host has been into that zone before that session, the problem won't occur again.
Log In
_
_tau_
The warning was in fact removed partially because of the performance cost, but also because, as I mentioned, when you _don't_ use the Network ID Utility it _should_ just work (the auto-assignment uses a stable sort). However, the manual ID assignment in the utility does not work correctly in that case.
We will address the other issue you linked by showing a warning about this scenario in the utility window, and fixing it from causing errors spam in the editor console.
We weren't able to reproduce the issue on uploading however, so unsure how that plays into this.
(edit: this was supposed to be a response below,
shakes fist at canny
)StormRel
tracked
StormRel
needs more information
Hello! Thanks for reporting this. Do you have an example world that displays this behavior?
Enverex
StormRel So my main world did, but I've been switching everything over to SmartObjectSync instead as that doesn't exhibit the same problem, as I can't leave the world in this broken/crasher state. I will check if one of my old separate test uploads also exhibits this, if not, I'll see about reverting enough objects to VRC Sync and uploading that as a separate world.
Enverex
StormRel Ok, I've uploaded a version with the original VRC Sync on it. It's private world ID wrld_ad055250-a251-4a0e-bb52-cc42c2e21d9e.
To replicate the issue:
Load two people into the world.
Have the non-master user go into the Squirrel Sounds building (in-front of you from spawn).
After a few seconds, have the master enter the same building.
From the master's perspective, everything will be fine. From the other client's perspective, they'll lock up as everything flies around at 0.2fps for a few seconds before finally settling (though sometimes I've had the objects continue to vibrate violently as-if they they were all being pulled towards something).
Let me know if you have trouble recreating and I can show you.
_
_tau_
Enverex: The example world you posted has invalid network IDs, which can cause all sorts of weird network behaviour. Have you used the https://creators.vrchat.com/worlds/udon/networking/network-id-utility/ by chance?
Enverex
_tau_ That ties into another bug I logged which I've suddenly seen a lot of people complaining about shortly after it first happened to me - https://feedback.vrchat.com/sdk-bug-reports/p/sdk-suddenly-cares-about-duplicate-gameobject-names
_
_tau_
Enverex: Duplicate transform hierarchy paths for networked objects are not supported, and never really were. They should _theoretically_ work as long as you don't use the ID assignment tool, but no real guarantees.
Can you still reproduce any issues after renaming all objects to be at different paths and reuploading? With network ID collisions I'm unable to test much further in this case.
Enverex
_tau_ I'm fine with that being the case, but can you add the warning back to the SDK in that case? Historically it used to give a warning if you had duplicate objects and offer to rename them for you. That option disappeared a while back - though if that was removed because it was what caused massive lag when focussing the Builder tab on larger worlds I can understand. If that's the case, how about adding that functionality back to another part of the SDK like the Network ID window?
I'll see if I can recreate the issue on the new SDK with the network IDs all unique (as I've renamed everything now). I'm a little apprehensive about changing the prefab for hundreds of objects on a live project (and it's too large to easily clone) to retest.