Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Warriors Example - ArgumentOutOfRangeException & Logitech Gamepad doesn't work

Discussion in 'Input System' started by AppBite, Aug 1, 2020.

  1. AppBite

    AppBite

    Joined:
    Jul 5, 2012
    Posts:
    79
    I've git cloned down the InputSystem_Warriors project and tried to make it work with a USB Logitech RumblePad2.

    If I go to GameManager and tick Spawn Multiple Players, and set a value 2 or higher I get multiple lines of
    ArgumentOutOfRangeException: Specified argument was out of the range of valid values.
    Parameter name: index

    It spawns multiple Warriors, one says Keyboard and works, the others stay 0 Device Name and never work.

    If I look in Input Debug, I see Devices (3) Keyboard, Logitech RumblePad2, Mouse.
    Going into Logitech RumblePad2, I can move the sticks, press the buttons, events happen, values change, seems to be working. (also working in Windows)
    • I've gone into the Package Manager and updated to the latest Input System.
    • Opened up the InputActions_Player and moved the Left Stick [Gamepad] up before the Keyboard. Ticked AutoSave. Restarted many times.
    • Went into Player Setting and changed it to Active Input Handling - Input System Package (New)
    • The EventSystem had a script attached to it that said to hit Upgrade, I tried that
    • Under Input System Package, hit the button in there and got an InputSystem.inputsettings {} file created in my Assets folder, not really sure what to do with that.
    • Added Mouse to the Movement actions, that also doesn't activate any of the Warriors
    • I've unplugged and replugged the controller, it doesn't auto-reattach like the Unite 2020 YouTube video
    I'm at a loss as to what else to do. I'm using Unity 2019.4.3 on a Windows PC.

    Thanks
     
  2. AppBite

    AppBite

    Joined:
    Jul 5, 2012
    Posts:
    79
    Following up on this. I installed the InputDeviceTester from the samples in the package manager tab, that worked for 1 try, things on screen highlighted when I pressed the buttons on my controller (just ignore the pink shader error on the background).

    Then I installed the Tanks demo, that basically ate everything, errors all over the console
    Assets\Scripts\GameManager.cs(4,29): error CS0234: The type or namespace name 'Universal' does not exist in the namespace 'UnityEngine.Rendering' (are you missing an assembly reference?)
    Assets\Scripts\PlayerDeviceRebindBehaviour.cs(410,17): error CS0246: The type or namespace name 'TextMeshProUGUI' could not be found (are you missing a using directive or an assembly reference?)

    I've installed TextMeshPro essentals, doesn't fix it.

    Feels like we have a battle between the standard render pipeline and the URP.
    The demos shouldn't be mix and matching these, I'm just trying to test if I should use the new input system or buy Rewired off the asset store. That's it. I'm not interested in a Standard vs URP comparison while testing controllers.

    When an LTS version of Unity comes out the demos for major components like the new Input System should work on them, people are trying to rely on these "stable" versions of Unity.