Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. Dismiss Notice

Question How to remove InputSystem.XR.XRSupport ?

Discussion in 'Input System' started by Peter77, Jan 11, 2022.

  1. Peter77

    Peter77

    QA Jesus

    Joined:
    Jun 12, 2013
    Posts:
    6,444
    Unity 2019.4.20f1, Input System 1.1.1, Android Player.

    According to Unity Cloud Diagnostics, my Android game sometimes causes an
    IndexOutOfRangeException
    due to
    InputSystem.XR.XRSupport.Initialize
    being called.

    The game isn't using XR, thus I don't need XRSupport and would like to remove it, to avoid keep running in this issue.

    How do I remove XRSupport?

    Code (CSharp):
    1. IndexOutOfRangeException: Index was outside the bounds of the array.System.Collections.Hashtable.ContainsKey (System.Object key) (at <00000000000000000000000000000000>:0)
    2. System.Collections.Hashtable.ContainsKey (System.Object key) (at <00000000000000000000000000000000>:0)
    3. System.Text.RegularExpressions.RegexParser.NoteCaptureSlot (System.Int32 i, System.Int32 pos) (at <00000000000000000000000000000000>:0)
    4. System.Text.RegularExpressions.RegexParser.CountCaptures () (at <00000000000000000000000000000000>:0)
    5. System.Text.RegularExpressions.RegexParser.Parse (System.String re, System.Text.RegularExpressions.RegexOptions op) (at <00000000000000000000000000000000>:0)
    6. System.Text.RegularExpressions.Regex..ctor (System.String pattern, System.Text.RegularExpressions.RegexOptions options, System.TimeSpan matchTimeout, System.Boolean useCache) (at <00000000000000000000000000000000>:0)
    7. UnityEngine.InputSystem.Layouts.InputDeviceMatcher+<get_patterns>d__4..ctor (System.Int32 <>1__state) (at <00000000000000000000000000000000>:0)
    8. UnityEngine.InputSystem.XR.XRSupport.Initialize () (at <00000000000000000000000000000000>:0)
    9. UnityEngine.InputSystem.InputSystem.PerformDefaultPluginInitialization () (at <00000000000000000000000000000000>:0)
    10. UnityEngine.InputSystem.InputSystem.InitializeInPlayer (UnityEngine.InputSystem.LowLevel.IInputRuntime runtime, UnityEngine.InputSystem.InputSettings settings) (at <00000000000000000000000000000000>:0)
    11. Rethrow as TypeInitializationException: The type initializer for 'UnityEngine.InputSystem.InputSystem' threw an exception.
     
  2. Peter77

    Peter77

    QA Jesus

    Joined:
    Jun 12, 2013
    Posts:
    6,444
  3. Peter77

    Peter77

    QA Jesus

    Joined:
    Jun 12, 2013
    Posts:
    6,444
  4. Peter77

    Peter77

    QA Jesus

    Joined:
    Jun 12, 2013
    Posts:
    6,444
  5. Peter77

    Peter77

    QA Jesus

    Joined:
    Jun 12, 2013
    Posts:
    6,444
  6. dmytro_at_unity

    dmytro_at_unity

    Unity Technologies

    Joined:
    Feb 12, 2021
    Posts:
    212
    Have you tried with 1.4.1? It was released recently, just enter 1.4.1 in the manifest.json if you don't see it in the package manager.

    If it still broken with 1.4.1 please file a bug report, thanks!
     
  7. Gregoryl

    Gregoryl

    Unity Technologies

    Joined:
    Dec 22, 2016
    Posts:
    7,233
    I'm no expert on this topic, but I'm told that you can define UNITY_FORCE_INPUTSYSTEM_XR_OFF in the project settings.
     
    Peter77 likes this.
  8. Peter77

    Peter77

    QA Jesus

    Joined:
    Jun 12, 2013
    Posts:
    6,444
    Thank you, that's what I was looking for!

    Yes, I upgraded a week ago from 1.3.0 to 1.4.1. However, 1.4.1 is quite broken for me and spits out all sorts of errors and exceptions in random fashion. Thus I downgraded to 1.3.0 again and all these new errors went right away. That's one of the reasons why I don't like to hop to every new release.

    Code (CSharp):
    1. NullReferenceException while resolving binding 'Move:<Gamepad>/leftStick[;Gamepad]' in action map 'InputActions (UnityEngine.InputSystem.InputActionAsset):Player'
    2. UnityEngine.InputSystem.PlayerInput:OnDisable() (at Library/PackageCache/com.unity.inputsystem@1.4.1/InputSystem/Plugins/PlayerInput/PlayerInput.cs:1735)
    Code (CSharp):
    1. NullReferenceException: Object reference not set to an instance of an object
    2. UnityEngine.InputSystem.InputBindingResolver.InstantiateWithParameters[TType] (UnityEngine.InputSystem.Utilities.TypeTable registrations, System.String namesAndParameters, TType[]& array, System.Int32& count, UnityEngine.InputSystem.InputActionMap actionMap, UnityEngine.InputSystem.InputBinding& binding) (at Library/PackageCache/com.unity.inputsystem@1.4.1/InputSystem/Actions/InputBindingResolver.cs:638)
    3. UnityEngine.InputSystem.InputBindingResolver.AddActionMap (UnityEngine.InputSystem.InputActionMap actionMap) (at Library/PackageCache/com.unity.inputsystem@1.4.1/InputSystem/Actions/InputBindingResolver.cs:304)
    4. UnityEngine.InputSystem.PlayerInput:OnDisable() (at Library/PackageCache/com.unity.inputsystem@1.4.1/InputSystem/Plugins/PlayerInput/PlayerInput.cs:1735)
    Code (CSharp):
    1. NullReferenceException: Object reference not set to an instance of an object
    2. UnityEngine.InputSystem.InputBindingResolver.InstantiateWithParameters[TType] (UnityEngine.InputSystem.Utilities.TypeTable registrations, System.String namesAndParameters, TType[]& array, System.Int32& count, UnityEngine.InputSystem.InputActionMap actionMap, UnityEngine.InputSystem.InputBinding& binding) (at Library/PackageCache/com.unity.inputsystem@1.4.1/InputSystem/Actions/InputBindingResolver.cs:638)
    3. UnityEngine.InputSystem.InputBindingResolver.AddActionMap (UnityEngine.InputSystem.InputActionMap actionMap) (at Library/PackageCache/com.unity.inputsystem@1.4.1/InputSystem/Actions/InputBindingResolver.cs:592)
    4. UnityEngine.InputSystem.InputActionMap.ResolveBindings () (at Library/PackageCache/com.unity.inputsystem@1.4.1/InputSystem/Actions/InputActionMap.cs:1352)
    5. UnityEngine.InputSystem.InputActionMap.ResolveBindingsIfNecessary () (at Library/PackageCache/com.unity.inputsystem@1.4.1/InputSystem/Actions/InputActionMap.cs:1217)
    6. UnityEngine.InputSystem.InputActionState.DeferredResolutionOfBindings () (at Library/PackageCache/com.unity.inputsystem@1.4.1/InputSystem/Actions/InputActionState.cs:4449)
    7. UnityEngine.InputSystem.InputActionRebindingExtensions+DeferBindingResolutionWrapper.Dispose () (at Library/PackageCache/com.unity.inputsystem@1.4.1/InputSystem/Actions/InputActionRebindingExtensions.cs:2807)
    8. UnityEngine.InputSystem.PlayerInput.OnDisable () (at Library/PackageCache/com.unity.inputsystem@1.4.1/InputSystem/Plugins/PlayerInput/PlayerInput.cs:1735)
    Code (CSharp):
    1. ArgumentNullException: Value cannot be null.
    2. Parameter name: source
    3. System.Linq.Enumerable.Contains[TSource] (System.Collections.Generic.IEnumerable`1[T] source, TSource value, System.Collections.Generic.IEqualityComparer`1[T] comparer) (at <351e49e2a5bf4fd6beabb458ce2255f3>:0)
    4. System.Linq.Enumerable.Contains[TSource] (System.Collections.Generic.IEnumerable`1[T] source, TSource value) (at <351e49e2a5bf4fd6beabb458ce2255f3>:0)
    5. UnityEngine.InputSystem.InputActionState.FetchActionState (UnityEngine.InputSystem.InputAction action) (at Library/PackageCache/com.unity.inputsystem@1.4.1/InputSystem/Actions/InputActionState.cs:887)
    6. UnityEngine.InputSystem.InputAction.get_currentState () (at Library/PackageCache/com.unity.inputsystem@1.4.1/InputSystem/Actions/InputAction.cs:1492)
    7. UnityEngine.InputSystem.InputAction.get_phase () (at Library/PackageCache/com.unity.inputsystem@1.4.1/InputSystem/Actions/InputAction.cs:508)
    8. UnityEngine.InputSystem.InputAction.get_enabled () (at Library/PackageCache/com.unity.inputsystem@1.4.1/InputSystem/Actions/InputAction.cs:533)
    9. UnityEngine.InputSystem.InputAction.Disable () (at Library/PackageCache/com.unity.inputsystem@1.4.1/InputSystem/Actions/InputAction.cs:887)
    10. UnityEngine.InputSystem.UI.InputSystemUIInputModule.DisableInputAction (UnityEngine.InputSystem.InputActionReference inputActionReference) (at Library/PackageCache/com.unity.inputsystem@1.4.1/InputSystem/Plugins/UI/InputSystemUIInputModule.cs:1499)
    11. UnityEngine.InputSystem.UI.InputSystemUIInputModule.DisableAllActions () (at Library/PackageCache/com.unity.inputsystem@1.4.1/InputSystem/Plugins/UI/InputSystemUIInputModule.cs:1453)
    12. UnityEngine.InputSystem.UI.InputSystemUIInputModule.OnDisable () (at Library/PackageCache/com.unity.inputsystem@1.4.1/InputSystem/Plugins/UI/InputSystemUIInputModule.cs:1404)