Is there an event we can watch for when world load is complete

From the logs I can see the startup sequence of world loading. I can plainly see where .Start is called on every object followed shortly thereafter by “held events” being run. This is where the sync’d values are obtained I’m sure. Eventually we get to “World download” and “World loading” messages that mention now long it took.

I’d like to know when all that start up business is complete. Is there an event we can monitor?

Perhaps OnPlayerJoined?

From what I can see in the logs that is occurring early in the process. If you check the log you will see OnPlayerJoined is followed by “Dispatching 80 held events” (80 in my example).

The sync has not completed until a new player has caught up with everyone else. It is at that moment I think we could use an event. I can have a new player interact with objects seemingly unaware of the current status because the syncs haven’t completed.

Oh, so this is about networking, not world loading, right?

In that case, you may want to use OnDeserialization. This event indicates that synced variables on an Udon script have changed.

There isn’t an event that is executed when all objects in the scene have received OnDeserialization - though you could consider implementing it yourself.

You can learn some general information about VRChat’s networking on this page: Networking | VRChat Creation

Kind of but I’m trying to determine when all the “bookkeeping” is complete, i.e. things I do not have control over.

The only OnDeserialization solution that I can readily think of is to count how many I received and I doubt that would be the same for the second and subsequent players.

What could I implement myself that would inform me that all the startup tasks have completed? And… why not add such an event? There are log statements indicating that VRC knows the information. Something in the library generates those.