Networking breaks when assigning Network IDs beyond an undocumented range.
Mixieǃ
There is an undocumented limit on Network IDs.
If you assign a Network ID beyond 10 000 to a PlayerObject its persistence features will break while the UdonBehaviour itself still functions and syncs.
ClientSim throws the following error:
ran out of player persistence view ids
In-game testing results in
Removed some Player Persistence metadata that had invalid IDs.
errors.Apparently there is a limit of 100 000 for Network IDs in general, its way less likely to hit this, but this also seems undocumented.
The difference in limit for PlayerObjects and standard UdonBehaviour objects is confusing and the provided errors don't accurately explain how to solve this issue.
The Network ID Utility also does not seem to take this limit for Player Objects into account and does not warn or ensure a lower ID is assigned to the persistent objects.
Furthermore, the Network ID Utility crashes on projects with this many Network IDs, but this was already documented here: https://feedback.vrchat.com/sdk-bug-reports/p/network-id-utility-has-massive-performance-issues
Log In
BobyStar
As you stated it
should
be very unlikely to ever hit that limit but there should be a documented number regardless. However, it unfortunately can be common with projects that have made a lot of network changes between builds. It appears the Network ID Utility just assigns a new incremented ID without checking if there are spaces available from previously deleted objects. Though it's more likely the Network ID still exists but with a missing object reference. Manually solving or regenerating the IDs fixes those issues but performance and possible VRC Player Object persistence data loss makes the tool unreliable.
I recommend using my tool as an alternative for those struggling with the current official tool. It will show you where problems are occurring, or you can simply just auto fix the issues and be on your way with building: