Network ID Utility fails to import with NullReferenceException
tracked
naqtn
Many
NullReferenceException
happens during the import process. You will fail to do even a simple "loop back test".Repro steps
- Create a scene having a VRCSceneDescriptorand anUdonBehaviorat the minimum.
- Open Network ID Import and Export Utilityhttps://creators.vrchat.com/worlds/udon/networking/network-id-utility/#network-id-import-and-export-utility
- Press Regenerate Scene IDsand confirm the dialog
- Press Exportand save it to a file
- Press Clear Scene IDsand confirm the dialog
- Press Importand select the file you have just saved. The utility shows the object(s).
- Press Accept AllorSelect
- Then, the Console shows NullReferenceExceptionerrors
Environment
Tested with SDK 3.7.0 Worlds. This seems to happen from 3.5.2
Log
The head part of the exception:
NullReferenceException: Object reference not set to an instance of an object
VRCNetworkIDUtility.<DetectConflicts>g__DoTypesMatch|28_6 (VRCNetworkIDUtility+NetworkObjectRef scene, VRCNetworkIDUtility+NetworkObjectRef loaded) (at ./Packages/com.vrchat.base/Editor/VRCSDK/Dependencies/VRChat/VRCNetworkIDUtility.cs:550)
VRCNetworkIDUtility.DetectConflicts (System.Collections.Generic.Dictionary`2[TKey,TValue] loadedRefs, System.Collections.Generic.List`1[T] conflictList) (at ./Packages/com.vrchat.base/Editor/VRCSDK/Dependencies/VRChat/VRCNetworkIDUtility.cs:520)
VRCNetworkIDUtility.OnGUI () (at ./Packages/com.vrchat.base/Editor/VRCSDK/Dependencies/VRChat/VRCNetworkIDUtility.cs:297)
Note
- The NullReferenceExceptionhappens when accessingNetworkObjectRef.typeNames.
- Some implementation of INetworkIDContainerhas the issue, maybe,UdonBehavior.
- INetworkIDContainer.NetworkIDCollectionis typedList<NetworkIDPair>
- Some element of it has the null as NetworkIDPair.SerializedTypeNames
Log In
lackofbindings
Same here, I guess Quest users of my world are just fat out of luck till this gets fixed. It's been like this for months.
White Lotuz
Merged in a post:
NetworkIDUtility Not working anymore
G
Gahone
Since my last Update of the SDK my NetworkIDUtility isnt working anymore. It wont let me Import the IDs from my PC World into my Quest world. It throws this error, for every ID it tries to import:
------------
NullReferenceException: Object reference not set to an instance of an object
VRCNetworkIDUtility.<DetectConflicts>g__DoTypesMatch|28_6 (VRCNetworkIDUtility+NetworkObjectRef scene, VRCNetworkIDUtility+NetworkObjectRef loaded) (at ./Packages/com.vrchat.base/Editor/VRCSDK/Dependencies/VRChat/VRCNetworkIDUtility.cs:550)
VRCNetworkIDUtility.DetectConflicts (System.Collections.Generic.Dictionary
2[TKey,TValue] loadedRefs, System.Collections.Generic.List
1[T] conflictList) (at ./Packages/com.vrchat.base/Editor/VRCSDK/Dependencies/VRChat/VRCNetworkIDUtility.cs:520)VRCNetworkIDUtility.OnGUI () (at ./Packages/com.vrchat.base/Editor/VRCSDK/Dependencies/VRChat/VRCNetworkIDUtility.cs:297)
UnityEditor.HostView.InvokeOnGUI (UnityEngine.Rect onGUIPosition) (at <80a8ce1980c648dca8e68f0d8aa3b930>:0)
UnityEditor.DockArea.DrawView (UnityEngine.Rect dockAreaRect) (at <80a8ce1980c648dca8e68f0d8aa3b930>:0)
UnityEditor.DockArea.OldOnGUI () (at <80a8ce1980c648dca8e68f0d8aa3b930>:0)
UnityEngine.UIElements.IMGUIContainer.DoOnGUI (UnityEngine.Event evt, UnityEngine.Matrix4x4 parentTransform, UnityEngine.Rect clippingRect, System.Boolean isComputingLayout, UnityEngine.Rect layoutSize, System.Action onGUIHandler, System.Boolean canAffectFocus) (at <332857d8803a4878904bcf8f9581ec33>:0)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&)
------------
Any Ideas?
It Shows the Window (Where you can Click "Accept all" and "Ignore" those, who arent in the Project. And when Clicking Accept, it throws all the errors. And the IDUtillity Window stays Empty.
Also I don't see the IDs in the WorldDescriptor anymore.
How can I keep my World in Sync now? Does it safe the IDs somewhere so I can put it Manually there?
Fax
tracked