How do I get the name of a Joystick by its number?

So here’s the thing, each joystick has a number in the Input Manager. For example, if I have an input “joystick 2 button 0”, this will only trigger when using whatever joystick is internally numbered 2.

There is also a method to get the names of the joysticks: Input.GetJoystickNames()

However, the latter method does not return the joystick names in an order that corresponds to their number in the Input Manager.

Ideally what I’d like is a way to see which of the joystick numbers have an actual connected device, and then get some kind of identifying feature from that device (like its name or whatever) so I can tell what kind of controller it is.

Is this possible either within or without Unity’s API?

open control panel → setUp usb controller → Properties

you will see all button listed there , and press each button in your joy stick.