VRChat Version:
1248
Description of the bug:
When multiple contacts collide with each other, VRChat crashes. The crash happens at the same time to most users in the instance. It doesn't matter if tag names of senders matches tag names of receivers or not.
Long story and reproduce info:
Last time me and my friends experienced more crashes than usual during our meets.
The crashes happens to almost all players in the instance e.g. 15 of 20 players were crashed at the same time.
The problem increased when more people added packages with contacts components to their avatars.
After some testing I figured out that there is a problem with maximum number of senders and receivers colliding in the same time.
For testing, I created an avatar with adjustable number of senders and receivers and I checked values that leads VRChat to crash.
Crash occurs when:
1) 40 senders collides with 400 receivers (1st video)
2) 40 senders collides with 220 receivers
3) 100 senders collides with 100 receivers (2nd video)
4) 80 senders collides with 100 receivers and one avatar enters this collision (3rd video)
5) 120 senders collides with 80 receivers
6) 20 senders collides with 360 receivers and one avatar enters this collision (this one I tested with my friend and we both got crashed)
My other observations:
  • Contact senders does not need to activate receivers. Crash occurs regardless if "collision tag" match or not.
  • Every avatar has built-in about 14 senders and they count in these limits (fingers, foots, head, chest).
These values may look very high, but try to imagine that 10 excellent-rated avatars can crash the whole instance:
10 avatars with 8 receivers each means 80 receivers and 140 senders on the instance in total. It is enough to crash the whole instance if players get too close to each other (140 senders vs 80 receivers) and a few of them has receivers with bigger radius. It's like a ticking bomb.