Search Issue Tracker

Fixed

Fixed in 2021.3.33f1, 2022.3.15f1

Votes

0

Found in

2021.3.30f1

2022.3.10f1

Issue ID

UUM-52211

Regression

No

[Android] Dualshock4 controller is not detected after disconnecting and reconnecting controller while the Player is running in the background

--

-

How to reproduce:
1. Open the "IN_55495" project
2. Connect the PS4 controller to the mobile device
3. Make sure the Android Platform is selected
4. In the Build Settings "Run Device" dropdown, select the desired device
5. Press Build And Run
6. Observe the Player and make sure the controller name is printed under the "Check" button
7. Switch the Player to the background
8. Disconnect and reconnect the PS4 controller (unpair by pressing and holding the PlayStation logo and single press to enter pair mode again on the controller or disable and enable Bluetooth)
9. Press the "Check" button

Expected result: Controller detected and name is printed under the "Check" button
Actual result: Controller not detected with a "No device detected" message under the "Check" button

Reproducible with: 2021.3.30f1, 2022.3.10f1, 2023.1.0a14
Not reproducible with: 2023.1.14f1, 2023.2.0b10, 2023.3.0a4
Fixed in: 2023.1.0a15

Reproducible on: Windows 10 Pro
Not reproducible on: No other environment tested

Reproducible on these devices:
VLNQA00178, Xiaomi Redmi Note 4 (Redmi Note 4), Android 6.0, CPU: MediaTek Helio X20 MT6797M, GPU: Mali-T880
VLNQA00512, Samsung Galaxy S9 (SM-G960F), Android 10, CPU: Exynos 9 (9810), GPU: Mali-G72
VLNQA00267, Samsung Galaxy S10+ (SM-G975F), Android 12, CPU: Exynos 9 (9820), GPU: Mali-G76

Not reproducible on these devices:
VLNQA00120, Google Pixel 2 (Pixel 2), Android 8.1.0, CPU: Snapdragon 835 MSM8998, GPU: Adreno (TM) 540
VLNQA00489, Htc 10 (HTC 10), Android 6.0.1, CPU: Snapdragon 820 MSM8996, GPU: Adreno (TM) 530
iPad Air 4th Gen (iOS 15.2.1)

Notes:
- Not reproducible on Xbox One, PS5 controllers (others not tested)
- Not reproducible on the other Platforms (Windows Standalone, iOS tested)

  1. Resolution Note (fix version 2022.3.15f1):

    Input device listener processes the callback on UI thread, instead of the Main thread; this was incompatible with GameActivity setup, where Java looper is not present on Unity's main thread. This change fixed the bug where DualShock4 controller was not recognised after being disconnected and reconnected to certain Android devices.

  2. Resolution Note (fix version 2021.3.33f1):

    Input device listener processes the callback on UI thread, instead of the Main thread; this was incompatible with GameActivity setup, where Java looper is not present on Unity's main thread. This change fixed the bug where DualShock4 controller was not recognised after being disconnected and reconnected to certain Android devices.

Add comment

Log in to post comment