![]() I think that's a pretty good UX design strategy even if specific device disconnects can be detected anyway. A multiplayer game should still be able to handle this by showing a controller selection UI on any disconnect (similar to what Nintendo Switch games do, for example) allowing players to "activate" controllers by pressing some controls and reassigning players. That makes it impossible to tell which specific device in the list disconnected and the only reasonable response InControl has is to trigger a disconnect for them all, and then reattach new devices for those still in the list. Unity gives no indication of which one of the four it was. So when a controller disconnects, one of those identical names in the list disappears. ![]() If you connect four identical controllers-a fairly common scenario-then you'll get four identical names in the list and the order of the list is undefined (regardless of the player lights on the controller, for example). The problem with Unity Input is (and I've complained to Unity at length about this) the only identifiers it gives you is the names in the Input.GetJoystickNames list. Native input is only supported on Windows and Mac and can be enabled in the settings.īut if the native input module is not enabled (and I really do recommend everyone use the native module whenever possible) then InControl has to default to using Unity Input under the hood. Click to expand.The tldr is that InControl does (and has for a couple years) had a native input module that gets around this problem using direct access to native OS input and doesn't disconnect all controllers when one disconnects since it can properly hook into OS level events.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |