steamvr_unity_plugin: ArgumentNullException on creating SteamVR Input when not in root folder
We usally put our 3rd party plugins in the “Plugin” or “Standard Assets” folder to save compilation time.
But this breaks the SteamVR plugin on creating the SteamVR Input:
Valve.VR.SteamVR_Input_Generator:OnEditorUpdate() (at Assets/Plugins/SteamVR/Input/Editor/SteamVR_Input_Generator.cs:139)
Valve.VR.SteamVR_Input_EditorWindow:OnInspectorUpdate() (at Assets/Plugins/SteamVR/Input/Editor/SteamVR_Input_EditorWindow.cs:246)
UnityEditor.HostView:OnInspectorUpdate()
ArgumentNullException: Argument cannot be null.
Parameter name: baseType
System.CodeDom.CodeTypeReference..ctor (System.Type baseType)
Valve.VR.SteamVR_Input_Generator.CreateField (System.CodeDom.CodeTypeDeclaration inputClass, System.String fieldName, System.Type fieldType, Boolean isStatic) (at Assets/Plugins/SteamVR/Input/Editor/SteamVR_Input_Generator.cs:1309)
Valve.VR.SteamVR_Input_Generator.GenerateActionSetsHelpers (System.String actionSetsClassFileName) (at Assets/Plugins/SteamVR/Input/Editor/SteamVR_Input_Generator.cs:1160)
Valve.VR.SteamVR_Input_Generator.GenerationStep_CreateHelperClasses () (at Assets/Plugins/SteamVR/Input/Editor/SteamVR_Input_Generator.cs:221)
Valve.VR.SteamVR_Input_Generator.ExecuteNextStep (GenerationSteps currentStep) (at Assets/Plugins/SteamVR/Input/Editor/SteamVR_Input_Generator.cs:183)
Valve.VR.SteamVR_Input_Generator.CheckForNextStep () (at Assets/Plugins/SteamVR/Input/Editor/SteamVR_Input_Generator.cs:167)
Valve.VR.SteamVR_Input_Generator.OnEditorUpdate () (at Assets/Plugins/SteamVR/Input/Editor/SteamVR_Input_Generator.cs:139)
Valve.VR.SteamVR_Input_EditorWindow.OnInspectorUpdate () (at Assets/Plugins/SteamVR/Input/Editor/SteamVR_Input_EditorWindow.cs:246)
System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Reflection/MonoMethod.cs:222)
Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation.
System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Reflection/MonoMethod.cs:232)
System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Reflection/MethodBase.cs:115)
UnityEditor.HostView.Invoke (System.String methodName, System.Object obj) (at C:/buildslave/unity/build/Editor/Mono/HostView.cs:295)
UnityEditor.HostView.Invoke (System.String methodName) (at C:/buildslave/unity/build/Editor/Mono/HostView.cs:288)
UnityEditor.HostView.OnInspectorUpdate () (at C:/buildslave/unity/build/Editor/Mono/HostView.cs:175)
About this issue
- Original URL
- State: closed
- Created 6 years ago
- Comments: 18
Damn. For us, it just hurts the eyes and compile time. Your case sounds even more troubling. I reopen the case, maybe (unlike mine) your arguments can convince the steam developers …
But no idea about the .asmdef file
This is the current approach we’re using too… And all our automated pipeline scripts now have a hardcoded line to correctly manage the SteamVR Plugin. Such a pain! Anyway thanks for the quick reply @grofie