CustomEvent
could be fired by other UdonBehaviour before
Start
is fired. So, Udon programmer who implements this CustomEvent must check already initialized or not before CustomEvent body (and do initialize if needed). It's inconvenient and waste of time (in the meaning of both run-time and writing-time of users).
I prefer to do Start before CustomEvent if it's not done yet. All of the above is same for SendCustomNetworkEvent case.
(This might be a "feature request" but I chose "bug report" section because I guess this is not intended implementation.)
SDK Version: VRCSDK3-UDON-2020.05.12.10.33
--- Details
In UdonBehaviour.cs, Udon
Start
event is fired in C#
Update
methods.
Events other than SendCustomEvent and SendCustomNetworkEvent have
if(!_hasDoneStart)
check at the beginning. So it is guaranteed that Start is fired before these events in Udon program. On the other hand, SendCustomEvent does RunProgram without
_hasDoneStart
guard.
My request is inserting same thing, that C# Update method does, into SendCustomEvent.
if(!_hasDoneStart)... RunProgram(startPoint) ...