![]() Rumble and LED control is not currently supported on Windows.With Native Input enabled, the PlayStation 4 controller can be used in both USB and Bluetooth mode.However, only one controller can be connected to the adapter at a time. When using the DualShock 4 USB Wireless Adaptor, the controller can be connected wirelessly and is more reliable than standard Bluetooth.USB and Bluetooth have different mappings but appear with the same name in Unity, thus both cannot be supported and, currently, only USB mode is supported.There is a newer version of the PlayStation 4 controller (CUH-ZCT2U/E) which currently does not support rumble and LED control with native input enabled.As of about Unity 4.6 release, it appears to work fine in both modes. ![]() Currently, even after Unity 4.5.1 added support for bluetooth mode, an app freeze of about 30 seconds occurs when connected or the app launches after which it will start running normally.Prior to Unity 4.5.1, it only works wired, not with bluetooth (even though it connects and identifies).No other third party drivers are supported. Requires third party drivers to work, and more specifically, Motioninjoy is supported.Appears to have some kind of hardware linear dead zone on analogs making it snap to cardinal directions slightly.Must be in DirectInput mode (switch on front).MFi controllers are currently not supported on macOS by Unity.You need to switch between this behavior and allowing it to function as Action2 with the .Remote.allowExitToHome property (see for more information). The B button (mapped as Action2) is interpreted as menu by default.The fault lies either with the device itself, or with platform drivers. Triggers behave like buttons on some platforms even when they are analogs on other platforms.Some controllers/buttons do not have a held down state so it will only return true for the one frame in which it was pressed. You can query: InputManager.MenuWasPressed, though, which maps onto whatever roughly applicable buttons can be found. You should not be using these buttons in a generalized cross-platform capacity. Some controller specific buttons (like Start, Select, Back, OUYA, Xbox Guide, PS3, etc.) are not part of the standardized set of supported inputs simply because they do not work on every platform.The Native Input module circumvents this problem entirely. Thus InControl has no choice but to fire DeviceDetached events for ALL controllers and then fire DeviceAttached events for those remaining. When multiple controllers with the same name are used and one is detached, Unity does not report which one was detached.Every platform does, however, report all newly connected devices once the app is relaunched. If Unity's Input.GetJoystickNames() is updated by the platform while the app is running, it will work. Not all platforms trigger the DeviceAttached event correctly.There is no expectation of a fix or workaround in most cases unless a driver update happens to address it. This list is an attempt to enumerate some of the more glaring or quirky issues encountered, but these are not bugs, at least not in InControl. Other than Apple’s MFi controller specification, there is no standard for how controllers should work, or what controls they should have and how those behave. Sometimes they work partially or not at all. Every controller seems to behave slightly different on every platform. If you know anything about controllers and cross-platform support, you know that finding consistent, functional behavior is a fool’s errand.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |