- Home /
ArgumentOutOfRangeException Instantiating PlayerInput
I have set the join behavior for the PlayerInputManager
to manual
and I am instantiating two PlayerInput
instances using the following code:
PlayerInput playerInput = PlayerInput.Instantiate(prefab, pairWithDevice: Keyboard.current);
PlayerInput playerInput = PlayerInput.Instantiate(prefab, pairWithDevice: Gamepad.current);
However I keep getting following error for the gamepad one:
ArgumentOutOfRangeException: Specified argument was out of the range of valid values.
Parameter name: index
UnityEngine.InputSystem.Utilities.ReadOnlyArray`1[TValue].get_Item (System.Int32 index) (at Library/PackageCache/com.unity.inputsystem@1.0.0/InputSystem/Utilities/ReadOnlyArray.cs:117)
UnityEngine.InputSystem.InputControlList`1[TControl].FromIndex (System.UInt64 index) (at Library/PackageCache/com.unity.inputsystem@1.0.0/InputSystem/Controls/InputControlList.cs:504)
UnityEngine.InputSystem.InputControlList`1[TControl].get_Item (System.Int32 index) (at Library/PackageCache/com.unity.inputsystem@1.0.0/InputSystem/Controls/InputControlList.cs:129)
UnityEngine.InputSystem.InputControlScheme.PickDevicesFrom[TDevices] (TDevices devices, UnityEngine.InputSystem.InputDevice favorDevice) (at Library/PackageCache/com.unity.inputsystem@1.0.0/InputSystem/Actions/InputControlScheme.cs:510)
UnityEngine.InputSystem.Users.InputUser.UpdateControlSchemeMatch (System.Int32 userIndex, System.Boolean autoPairMissing) (at Library/PackageCache/com.unity.inputsystem@1.0.0/InputSystem/Plugins/Users/InputUser.cs:1358)
UnityEngine.InputSystem.Users.InputUser+ControlSchemeChangeSyntax.AndPairRemainingDevices () (at Library/PackageCache/com.unity.inputsystem@1.0.0/InputSystem/Plugins/Users/InputUser.cs:1769)
UnityEngine.InputSystem.PlayerInput.TryToActivateControlScheme (UnityEngine.InputSystem.InputControlScheme controlScheme) (at Library/PackageCache/com.unity.inputsystem@1.0.0/InputSystem/Plugins/PlayerInput/PlayerInput.cs:1507)
UnityEngine.InputSystem.PlayerInput.AssignUserAndDevices () (at Library/PackageCache/com.unity.inputsystem@1.0.0/InputSystem/Plugins/PlayerInput/PlayerInput.cs:1400)
UnityEngine.InputSystem.PlayerInput.OnEnable () (at Library/PackageCache/com.unity.inputsystem@1.0.0/InputSystem/Plugins/PlayerInput/PlayerInput.cs:1565)
UnityEngine.InputSystem.PlayerInput:Instantiate(GameObject, Int32, String, Int32, InputDevice)
I check the list of InputUser
s and PlayerInput
s and can see that there are two InputUser
s created one for the keyboard and one for the gamepad but there is only one PlayerInput
available in the system which is assigned to the keyboard.
Does anyone have any idea what is wrong here?
Regards, Aydin
Your answer
Follow this Question
Related Questions
Unity changes mouse speed when it's compiling 0 Answers
Mouse y-axis locked only in build 0 Answers
Unity capturing events in editor and not letting go 0 Answers
Read analog stick input without using the Input Manager 1 Answer
Input.GetKey not working 1 Answer